15537227
Efficient message dispatch in object-oriented systems
Single dispatch involves performing at run-time a multi-way switch over the possible classes of the receiver. Most object-oriented systems implement this switch as an array lookup using a table-based technique or as a binary search using a tree-based technique. However, each of these is the best choice only under a particular circumstance; neither outperforms the other under all circumstances. In this paper, we present a time and space efficient implementation of the switch that employs the table-based technique when an array lookup outperforms a binary search and the tree-based technique when a binary search outperforms an array lookup. Further, when neither an array lookup nor a binary search is superior, our scheme blends the two techniques in a manner that gains the benefits of both without suffering the disadvantages of either. We relate our scheme to recent work and discuss extending it to implement multiple dispatch.
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.
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.
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.
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.
24684227
Adaptive Control of Anytime Algorithm Parameters
15001801
Managing Flexibility in Distributed Information Systems Architectures
Competitive pressures are forcing organizations to be agile and flexible. Response to changing environmental conditions is an important factor in determining corporate performance. Organizational flexibility is in turn closely related to the management of information systems. Rexibility of information systems needs to be actively managed. Information systems in organizations have evolved from being a function of a centralized MIS department to a function dependent on a distributed collection of information systems resources (hardware, software, and people). This distributed collection of resources has been referred to as the Distributed Information Systems Architecture. Managing flexibility in distributed information systems architectures is an interesting and challenging problem. The inlportance offlexibilityboth at the organizational and information systems levels has been recognized by research in management (Bahrami 1992), operations management (Sethi 1990), and MIS (Lacity, Willcocks anditeny 1995). However, flexibility in distributed information system architectures has not been examined in detail. Flexibility in distributed information system architectures can be of several types. Each type of flexibility has distinct characteristics. Understanding different types of flexibility in the context of distributed information system architectures is therefore extremely important. 'Ihe operations management literature on flexibility is used as a starting point to categorize various types of flexibility. Analysis of secondarydata using grounded theory (Strauss and Corbin 1990) is employed to identifyseveral different types of flexibility. Secondary data used consists of articles on outsourcing and management of information systems from academic publications as well as from practitioner publications such as Datamation, /4/Onnation Week etc. A taxonomy for understanding flexibility in distributed information system architectures is developed. The relationship between various t>pes of flexibilityand different information s>Stems functions is explored. This taxonomy of flexibility, as well as the relationship between types of flexibility, information system functions, and resource requirements has important implications for evaluation of outsourcing decisions. REFERENCES Bahrami, H. 'The Emerging Flexible Organization: Perspectives from Silicon Valley." Cal{/brnia Management Review, Summer 1992, pp. 34-51. Lacity, M. C.; Willcocks, L. P.; and Feeny, D. F. "IT Outsourcing: Maximize flexibility and Control." Harvard Business Review, May-June 1995, pp. 83-93. Sethi, S. K, and Sethi, S. P. "Flexibility in Manufacturing: A Survey." Inteniational Journal ofFlexibleManufacturing Systems, Volume 2,1990, pp. 289-328. Strauss, A, and Corbin, J. Basics ofQuaUtative Research: Grounded 77:eory, Procedures and Techniques. NewburyPark, California: Sage Publications, 1990.
7339641
Efficient beacon placement for network tomography
Recent interest in using tomography for network monitoring has raised the fundamental issue of whether it is possible to use only a small number of probing nodes (beacons) for monitoring all edges of a network in the presence of dynamic routing. Past work has shown that minimizing the number of beacons is NP-hard, and has provided approximate solutions that may be fairly suboptimal. In this paper, we use a two-pronged approach to compute an efficient beacon set: (i) we formulate the need for, and design algorithms for, computing the set of edges that can be monitored by a beacon under all possible routing states; and (ii) we minimize the number of beacons used to monitor all network edges. We show that the latter problem is NP-complete and use an approximate placement algorithm that yields beacon sets of sizes within 1+<i>ln</i>(|<i>E</i>|) of the optimal solution, where E is the set of edges to be monitored. Beacon set computations for several Rocketfuel ISP topologies indicate that our algorithm may reduce the number of beacons yielded by past solutions by more than 50%.
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.
47199334
Computation Hierarchy for In-Network Processing
In this paper we explore the network level architecture of distributed sensor systems that perform in-network processing. We propose a system with heterogeneous nodes that organizes into a hierarchical structure dictated by the computational capabilities. The presence of high-performance nodes amongst a sea of resource-constrained nodes exposes new tradeoffs for the efficient implementation of network-wide applications. Our experiments show that even for a low relative density of resource-constrained nodes to high-performance nodes there are certain gains in performance for a heterogeneous and hierarchical network over a homogeneous one. The introduction of hierarchy enables partitioning of the application into sub-tasks that can be mapped onto the heterogeneous nodes in the network in multiple ways. We analyze the tradeoffs between the execution time of the application, accuracy of the output produced and the overall energy consumption of the network for the different mapping of the sub-tasks onto the heterogeneous nodes. We evaluate the performance and energy consumption of a typical sensor network application of target tracking via beamforming and line of bearing (LOB) calculations on the different nodes. Our experiments also include the study of the overall performance and energy consumption of the LOB calculation using two different types of resource constrained sensor nodes (MICA and MICA2 nodes) and show how these metrics are affected by changes in the node architecture and operation. Our results indicate that when using MICA motes as resource-constrained nodes, 85% of the time on average the hierarchical network outperforms a homogeneous network for approximately the same energy budget. When using MICA2 motes as resource-constrained nodes, 54% of the time the hierarchical network performs better than a homogeneous network with approximately the same energy budget.
22550674
Timing-sync protocol for sensor networks
Wireless ad-hoc sensor networks have emerged as an interesting and important research area in the last few years. The applications envisioned for such networks require collaborative execution of a distributed task amongst a large set of sensor nodes. This is realized by exchanging messages that are time-stamped using the local clocks on the nodes. Therefore, time synchronization becomes an indispensable piece of infrastructure in such systems. For years, protocols such as NTP have kept the clocks of networked systems in perfect synchrony. However, this new class of networks has a large density of nodes and very limited energy resource at every node; this leads to scalability requirements while limiting the resources that can be used to achieve them. A new approach to time synchronization is needed for sensor networks.In this paper, we present Timing-sync Protocol for Sensor Networks (TPSN) that aims at providing network-wide time synchronization in a sensor network. The algorithm works in two steps. In the first step, a hierarchical structure is established in the network and then a pair wise synchronization is performed along the edges of this structure to establish a global timescale throughout the network. Eventually all nodes in the network synchronize their clocks to a reference node. We implement our algorithm on Berkeley motes and show that it can synchronize a pair of neighboring motes to an average accuracy of less than 20ms. We argue that TPSN roughly gives a 2x better performance as compared to Reference Broadcast Synchronization (RBS) and verify this by implementing RBS on motes. We also show the performance of TPSN over small multihop networks of motes and use simulations to verify its accuracy over large-scale networks. We show that the synchronization accuracy does not degrade significantly with the increase in number of nodes being deployed, making TPSN completely scalable.