Framework for replica selection in fault-tolerant distributed systems

Size: px
Start display at page:

Download "Framework for replica selection in fault-tolerant distributed systems"

Transcription

1 Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA Abstract. This paper describes my term project, which I developed in the course CS 589 Software Engineering for Embedded Systems. The term project should be a design and an implementation of a novel application or development tool that exploits one or more existing approaches to software engineering in the context of embedded systems, demonstrates a novel idea in this domain, or overcomes a known significant challenge posed by embedded systems. In my project I examined how to select replica components in fault-tolerant systems to increase the overall reliability of the system considering the additional costs of the deployed replica components. As a result, I developed a framework for different replica selection algorithms and evaluated five selections strategies for this framework. 1 Introduction Software plays more and more of an integrated part in our everyday environment. Almost every electronic device in a household contains complex software. Since software is also integrated in critical devices, systems are desired, which can still operate after a severe fault occurred. Distributed and mobile systems especially have more points of possible failure than desktop applications. Therefore, these systems have a higher likelihood of failing. In a desktop system, when the hardware completely fails, the whole software system is now unavailable. In a distributed system, which consists of many hardware notes, a failure of a hardware node does not mean that the whole system fails. It can still operate, if software services are independent or if replica of critical software components exists. If the replication of components is used as a fault-tolerance strategy, the following problem arises. If a hardware note fails and we have replicated certain software components, did we replicate the right component? To be sure that we have replicated the right component, we could replicate every single software component. However, this is not feasible because additional software components consume memory, process power and bandwidth among others. Therefore, a trade-off decision about criticality, reliability and costs of software components is needed to find the right set of replica. Finding a good trade-off is a difficult problem, because many decision variables exist. An analyst has to decide which components to replicate considering the importance

2 of use cases, the resource consumption of software components, the reliability of the components, the computer hardware and the network. After selecting the components the analyst has to decide where to deploy these components again considering the above mentioned dimensions. To address this replica selection problem I transformed it into an optimization problem [4]. In an optimization problem the objective is to find the best possible solution satisfying all given constraints. Optimization or mathematical programming is a wellstudied domain in applied mathematics and operations research. Therefore, different methods and algorithms have been developed to solve such problems using strategies such as non-linear programming, greedy strategies or genetic algorithms. Since different algorithms can be used to solve optimization problems and since no canonical set of design constraints for replica exists, I developed a framework providing extension ports for additional constraints and different algorithms allowing customized instantiation of the replica model. This framework can be seen as the base implementation for the development of different later models. The class project required not only designing a novel approach for the embedded system domain, but also an implementation. This paper also describes the architecture and the usage of the implemented tool. The tool is an Eclipse plugin extending the at USC developed deployment tool DeSi [4]. Additionally, it is able to export data to the parallel coordinates visualisation tool Parvis [2] for further analyses. The remainder of this paper is structured as follows. Section 2 describes the developed framework model, an instantiation of the model with some constraints and the developed algorithms to solve the optimization problem. Section 3 describes the developed tool. Section 4 shows an evaluation of the developed approach. Section 5 concludes this paper and shows possible future research ideas. 2 Framework Based on the framework model of Malek et al. [4], the developed replication framework model enables the modelling of distributes system. It allows to define customized constraints and parameters allowing instantiations of the model to solve own defined tradeoff scenarios. Furthermore, since multiple strategies exist to solve optimization problems, the framework provides different algorithms to find solutions. 2.1 Framework model The basic entities of the framework model include hosts, components, links and services. These entities seem appropriate to model component deployments in distributed systems. In detail, a model consists of A set of hosts, H, which represents the hardware nodes of a system. Possible attributes of hardware nodes are the capacity of memory, process power or energy consumption. A set of components, C, where a possible attribute could be the size of the component. Each component is deployed on one of the above defined hosts and each component has a set of replica R, which also includes the original component. 2.

3 A set of services, S, which describe the different use cases that the whole system offers and can perform. A service is composed of the interaction of components in a system. Since multiple services could use an e.g. encryption component, a component can appear in multiple services. 3. The model contains three different types of links: physical networks links, logical links and service logical links. Therefore, the model contains three different sets of links. The set of physical network links, PL, which connect two hosts to each other showing that components on these host could interact with each other. Physical network links have properties like bandwidth among others. The set of logical links, LL. Logical links show that two components are able to interact with each other, because they know e.g. how to invoke methods in each other. The set of service logical links, SLL. A service logical link connects two components, which are part in the same service. The service logical link shows that these two components interact in a use case of the system. It can have properties such as exchanged average data size and average data exchange frequency. Two components can only have a service logical link, if they also have a logical link between each other. To set up the global optimization function we need some more attributes for the defined basic entities. Reliability. Different entities can fail in a distributed system. The host can break down, a physical network link can fail or a software component reaches a certain failure state. Therefore, each host, each physical link and each component in the model has a reliability value, which describes the likelihood that this entity will not fail during the operation. Service Criticality. A use case of a system has different priorities for a user. For example, in a car a working brake system has a higher criticality in the overall system than an entertainment system. Therefore, my model considers service criticality. After defining all required elements, the designed global optimization function can be derived. It is based on the original deployment, the criticality of services and the reliability of components. C S C i = 1 S j = 1 α Reliability( S j, C i ) Criticality( S j ) α = 1if ( C i S j ) α = 0if( C i S j )

4 Creating replica components for certain services increases the reliability of a component. Therefore, the reliability function computes the reliability of the component based on the amount of component instances. Each replica of a component is an additional instance of the original component. 4. Reliability( S j, C i ) = ReplicaSet( C i ) 1 FailProbability( S j, Replica( R k, C i )) k The reliability definition above is based on the assumption that the failing events of each replica are independent. This should be the case, since all replica are on different hosts and therefore should have different causing events for host and link failures. There can never be the same components deployed on the same host, because a constraint of the framework prohibits this double deployment. The probability of failure of a component is dependent on the host on which it is placed and on the links which it uses to serve a certain service. If a host fails ( PH ( )) the component also fails, if a host does not fail ( PH ( ) = 1 PH ( )) then the probability of failure depends on the link reliability and the component reliability. Therefore, through application of probability theory (i.e. conditional probability and the law of total probability) the following formula for the component reliability can be derived. FailProbability( C i ) = PH ( ) + PH ( ) PLH ( ) + PH ( ) PLH ( ) PC ( i LH, ) For this formula I assume that a component and link cannot exist without running host. If the host fails, then each attached network link and each software component, which was deployed on it, fails also. As an example, if a host fails 30% of the time, one link fails 20% of the time and the software component does not fail at all, then we arrive at the following formula. FailProbability( C i ) = PH ( ) + PH ( ) PLH ( ) + PH ( ) PLH ( ) PC ( i LH, ) = = 0.34 In this example the probability that the component fails is 34% considering host and link failure. 2.2 Framework Instantiation For this framework, an active replication strategy is assumed although it can be adapted to other replication strategies as well. In an active replication all replica are running at the same time. The above defined global optimization function does not include any constraints. This is a wrong assumption, because hosts have memory and processing constraints and the original component forwards each received event to each replica. Therefore, each additional replica consumes resources of the system. The framework itself does not require any constraints. However, different constraints can be defined.

5 To make a reasonable trade-off decision, each instantiation of a model should be instantiated with some constraints. Memory consumption is an example of a constraint for the model. Each host has only a limited space available to install software components. Each software component has a size. This constraint ensures that the optimization algorithm will not generate too many replica components. At most it will generate as many components as will fit on the hosts. Using all remaining space for replica components is also not optimal, since no space for maintenance tasks would exist. Realistic boundaries for the memory usage are required. However, how does the algorithm know what are good boundaries for memory usage? Deciding on a trade-off requires intelligence, understanding and domain knowledge. An optimization algorithm does not know what memory usage is. Therefore, we need to add some human input to the model. Since each important parameter of the system is modeled, an engineer can examine how much of each resource is used and how much of each resource is available. Consequently, he can set these constraints for a certain system before running the optimization algorithm. Bandwidth consumption is another example of a constraint. Each replica is placed on a different host. Whenever a data event is sent to the component, the data event needs also to be forwarded to all replica components. This can generate a lot of overhead traffic. A human engineer knows how much overhead traffic he wants to allow providing the input for the optimization algorithm. Using the engineer s input and considering the available bandwidth of each physical network link, we have input for a realistic constraint for the optimization algorithm. 2.3 Framework algorithms Several algorithms with different run-time behavior and quality of the results exist to solve optimization problems. Since optimization problems often are so complex that they require an algorithm with exponential runtime, algorithms can be chosen, which are based on heuristics finding solution that are approximations of the optimum Exhaustive Search The first algorithm is an exhaustive search. This algorithm always finds the optimal solution by computing the global function value for every possible replication. Therefore, if the algorithms find a solution, we can be sure that it has found the best replication strategy. What are the dimensions of this algorithm? Each component can be replicated multiple times and be put on each host. The only constraint is that one host can only run one instance of a component. Therefore, the exhaustive search tries out 2 C H configurations. This runtime complexity causes the algorithm to be inapplicable for already small problems. Therefore, the algorithm s primary function is serving as a benchmark for other algorithms Greedy Search Greedy algorithms are iterative algorithms, which find a better solution in each iteration step. They operate by selecting the best possible solution in each step. Therefore, greedy 5.

6 algorithms have a much better runtime compared to an exhaustive search enabling the optimization of large distributed systems. Greedy algorithms only find the optimal solution if the search space does not have local maxima, which is rarely the case. The solution that a greedy algorithm computes is therefore often only an approximation of the optimal results. In this framework the greedy algorithm replicates in every step a component on a host, which improves the optimization function the most. Therefore, it computes in very step C H possibilities. In the worst case each component gets replicated on each host. Since in every step only one component gets replicated and only one replica can be installed on each host, we need at most C H iterations. Therefore, if we assume no constraints such as memory consumption or bandwidth consumption, the greedy algorithm has the runtime O( C 2 H 2 ). This low runtime complexity enables the use of the greedy strategy also for large distributed systems. 2.4 Practical discussion To compute an optimal optimization, the framework requires quantifiable values. Values such as component size or the available memory of the host can be easily measured in the implemented system. However, values such as reliability or average data transmission cannot be exactly specified a priori to the runtime. These values need to be obtained using expert knowledge gained from earlier systems or through dynamic simulation [1]. 3 Tool Support An implementation of the above described conceptual model is another part of the deliveries. This section describes the implementation in detail. 3.1 Architecture Foundation of the tool The developed tool was developed as a plug-in for Eclipse. The Eclipse framework is an open source platform-independent software framework. It is mainly used as an IDE, however it was developed to be a general platform for rich clients. Its basic version consists of the Rich Client Platform, which provides the basic functionality for extensions, a framework for views and editors, and plug-ins for the Java programming language. It integrates OSGi [5] as a component framework and provides extension ports for additional components. Besides requiring the basic Eclipse framework, the replication plug-in also requires and extends the tool DeSi. The DeSi tool, an Eclipse plug-in itself, is a visual deployment exploration environment that supports specification, manipulation, visualization, and (re)estimation of deployment architectures for large-scale, highly distributed systems. DeSi exports an API for modifying its deployment model, which can be used to define new system parameters, since the underlying deployment framework for DeSi is similar to the framework of the paper. The basic data model and graphical user interface of DeSi could be reused for this project. 6.

7 3.1.2 The extension mechanism of the replication plug-in The replication plug-in was designed to provide two distinct extension ports for future change cases. It provides an API to plug in new optimization algorithms and to plug in new constraints for the algorithms. To develop a new algorithm, a new subclass of an abstract base class has to be implemented. The new developed algorithm is automatically integrated in the program, receiving all required data and being executable through the graphical user interface of the replication plug-in. Adding a new constraint is similarly easy. After implementing the general constraint interfaces, the constraints are automatically integrated in the graphical user interface, enabling user input about allowed cost increase. Additionally, the constraint interface of each algorithm has to be implemented. If the constraint interface of an algorithm is implemented, the constraint is considered automatically in the run of this algorithm Parvis - The analysis COTS component To enhance visualization of the results, the replication plug-in exports its results in a readable format for the parallel coordinate visualization tool Parvis. 7. Parvis uses the visualization technique called parallel coordinates. Parallel Coordinates are a way to visualize multi-dimensional data. In this visualization technique each dimension is represented as a parallel axes with equal distance to each other. Each value of an n-dimensional data point is marked on the parallel axes and connected through one line. Therefore, one data point can be traced over the different dimensions. To increase the readability of the visualization, the user can highlight since data points. The replication tool exports its data using five dimensions. Each component is a five-dimensional data point. The dimensions are the original reliability value, the improved reliability value, the number of component instances (replica + the original component), the number of services, where the component appears, and the average criticality of these services.

8 Usage Description The main views of the replication tool This section shows an example execution of the tool. The replication plugin can be invoked through a menu item in Eclipse. The screenshot above shows the deployment of an example embedded system. 12 components are deployed on four hosts. Each host is connected to each other host, which the black connecting lines indicate. If two components are connected, they are able to communicate. The properties of each entity (hosts, links and components) can be edited in the view below.

9 As described above components together form services, which represent the use cases of the system for the user. Services and their component interaction can be modeled in the service view below The replication wizard After the system is modeled as desired, the algorithms can be invoked on the model using a graphical wizard. The screenshot above shows the first page of the wizard. As the first step the optimization strategies can be chosen. In the current version five strategies are implemented.

10 10. In the second and also the final page of the wizard, each constraint is displayed showing resources used in the whole system and the total resources, which are available in that dimension. The user can enter how much cost increases for each constraint he tolerates. In the screenshot above a cost increase for 75% is entered. Since units of memory are already in use, 175% would correspond to units of memory. The algorithm ensures that the solution does not consume more resources as allowed. If the specified allowed increase exceeds the available resources, the available resources are the boundary for the algorithm. After the algorithm computed the best replica, it adds replica component to the model. These component are highlighted by a grey bar on the bottom of the component. All properties can be examined in the same way as for the original components. In addition, a replica service is created in the service view showing which components are connected to which replica components. In this view it can be analyzed how much data is transferred from each component to its replica. The replication data transfer is inferred from the data exchange from each component of its services.

11 As an additional step, the effectiveness of the chosen algorithm can be analyzed using the integrated COTS tool Parvis. 11. In the parallel coordinate result graph, a user can see in a overview how the reliability of each component improved. Furthermore, he can read other parameters as service criticality. Therefore, the results of the algorithms can be visual validated. 4 Evaluation For the evaluation of the system I developed three comparison heuristics as algorithm extension for the replication tool. Since the domain is complex and often the variables are unattainable, human engineers can use heuristics for deciding on a replica. The first heuristic replicates each component of the system on each host maximizing reliability. This strategy provides the maximum possible reliability in the system while being very costly. However, in some systems costs are not critical. Therefore, it is still a valid strategy. The second strategy is to replicate each component once. Therefore, if a component fails, there should be always one component, which can be used instead. This approach is less expensive than the first heuristic. In unreliable environments, where components fail more often, this strategy might be insufficient. Replicating every component twice, could still be inexpensive, while providing higher reliability. These more easily comprehendable selection strategies are compared against the exhaustive search and the greedy algorithm. Note that all three heuristics do not consider any constraints while creating replica components. To evaluate the algorithms, I ran each described algorithm on three randomly generated distributed systems with parameters in the following data ranges. The units of attributes such as component size are not specified, since many different units are possible and this information is not essential for the algorithms. Attribute Range Component Sizes 1..5 Service Criticality 1..3

12 Event Data Frequency Event Data Size Host Reliability Component Reliability The algorithms are compared in the dimension of overall bandwidth usage increase, overall memory cost increase and the increase in the global optimization function value. Additionally, the test shows the reliability value of the two components with the lowest reliability after the optimization ( C w1 and C w2 ), because these two components are the weakest points in the whole system. They are the most likely to fail. All three experiment runs have four hosts, four services and twelve components. Even for this small configuration, the exhaustive search is already not any more feasible. The result of the three experiments can be seen in the following tables. The first column Base shows the values before a replication strategy was applied. For Greedy (50%) the greedy algorithm was executed, whereas both memory and bandwidth constraint allowed only a cost increase of 50%. For Greedy (100%) the allowed cost increase was specified as 100% and for Greedy (150%) it was 150%. All three experiments were too complex for the exhaustive search. Therefore, executing the exhaustive search was not feasible. Instead the Replicate All strategy was used as a benchmark. In this strategy each component is replicated on each host. Table 1: Experiment Name Bandwidth Memory Optimization C w1 C w2 Base Greedy (50%) Greedy (100%) Greedy (150%) Replicate All Replicate each once Replicate each twice Table 2: Experiment 2 Name Bandwidth Memory Optimization C w1 C w2 Base

13 13. Table 2: Experiment 2 Name Bandwidth Memory Optimization C w1 C w2 Greedy (50%) Greedy (100%) Greedy (150%) Replicate All Replicate each once Replicate each twice Table 3: Experiment 3 Name Bandwidth Memory Optimization C w1 C w2 Base Greedy (50%) Greedy (100%) Greedy (150%) Replicate All Replicate each once Replicate each twice In general, it can be observed that all algorithms showed a similar behavior in all three experiments. The first result is that a cost increase of 50% increases the overall reliability, but seems to be in general too little compared to the maximum possible reliability of the Replicate All strategy. This can especially be seen in the overall optimization value of each experiment and in the small changes in the reliability of the most unreliable component. The Greedy (100%) strategy produces already better results, which are closer to the best possible solution. Replicating each component once has slightly better results than the Greedy (100%) strategy while being only slightly more expensive. A similar trend can be observed with the Greedy (150%) strategy compared to strategy, which replicates each component twice. Both strategies compute almost the same results, but the

14 Greedy (150%) performs slightly worse while having a slightly better resource consumption. Both strategies reach values, which are close to the best possible solution. How are these results transferable to the replica selection in fault-tolerant systems? If a moderate reliability is sufficient or the hardware resources are constrained, the Greedy (100%) or the strategy, which replicates each component once, is suitable. If a high reliability is required replicating every component twice or using the Greedy (150%) strategy can be used. Both strategies require approximately three times the resources as the original deployment. It is interesting that a simple heuristic, such as replicating every component once, produces almost the same results as the more sophisticated greedy search. Since it might be difficult to obtain all reliability values and other parameters of the model, the simple heuristic can be utilized in many fault-tolerant distributed systems. If, however, more uneven constraints boundaries exist (e.g. 65% allowed cost increase) the greedy algorithm should be selected. 5 Future The developed framework helped to explore the problem space of the replication domain. Several possible future questions could still be answered. Since the greedy algorithm performs only slightly better than the simple heuristic, would a better solution provided by a non-linear programming solver create better results? How do the developed algorithms perform when they are bounded by new additional constraints and how could other resource constraints be modeled? The set of randomly created experiments helped to understand the different strategies better. As a next step the algorithms could be applied in real systems. 6 Contribution In conclusion this term project made several contributions. Design and implementation of a novel approach for Component Replica Selection. A framework plus tool implementation to facilitate complex trade-off decisions between reliability and replica overhead costs based on service criticality. An architecture that provides extension ports for additional constraints and algorithms Evaluation of different replication selection strategies Design and COTS component integration of parallel coordinates technique to visualize the results and the fault-tolerance improvements of the analyzed system. 14.

15 15. 7 References [1] Edwards, G. et al. Scenario-Driven Dynamic Analysis of Distributed Architectures, USC- CSE [2] H. Hauser, F. Ledermann, and H. Doleisch. Angular brushing for extended parallel coordinates. In Proc. of the IEEE Symposium on Information Visualization, pages , 2002 [3] Inselberg, A. and Dimsdale, B Parallel coordinates for visualizing multi-dimensional geometry. In CG international '87 on Computer Graphics 1987 (Karuizawa, Japan). T. L. Kunii, Ed. Springer-Verlag New York, New York, NY, [4] Malek, S. et al., A User Centric Approach for Improving A Distributed Software System's Deployment Architecture, USC-CSE [5] OSGi Alliance, OSGi Service Platform, Release 3, Mar 2003.

A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE

A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE Chris Mattmann University of Southern California University Park Campus, Los Angeles, CA 90007 mattmann@usc.edu

More information

Welfare Navigation Using Genetic Algorithm

Welfare Navigation Using Genetic Algorithm Welfare Navigation Using Genetic Algorithm David Erukhimovich and Yoel Zeldes Hebrew University of Jerusalem AI course final project Abstract Using standard navigation algorithms and applications (such

More information

Topic 6: SDN in practice: Microsoft's SWAN. Student: Miladinovic Djordje Date:

Topic 6: SDN in practice: Microsoft's SWAN. Student: Miladinovic Djordje Date: Topic 6: SDN in practice: Microsoft's SWAN Student: Miladinovic Djordje Date: 17.04.2015 1 SWAN at a glance Goal: Boost the utilization of inter-dc networks Overcome the problems of current traffic engineering

More information

EECS 121: Coding for Digital Communication & Beyond Fall Lecture 22 December 3. Introduction

EECS 121: Coding for Digital Communication & Beyond Fall Lecture 22 December 3. Introduction EECS 121: Coding for Digital Communication & Beyond Fall 2013 Lecture 22 December 3 Lecturer: K. V. Rashmi Scribe: Ajay Shanker Tripathi 22.1 Context Introduction Distributed storage is a deeply relevant

More information

3.4 Data-Centric workflow

3.4 Data-Centric workflow 3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

Limiting the State Space Explosion as Taking Dynamic Issues into Account in Network Modelling and Analysis

Limiting the State Space Explosion as Taking Dynamic Issues into Account in Network Modelling and Analysis Limiting the State Space Explosion as Taking Dynamic Issues into Account in Network Modelling and Analysis Qitao Gan, Bjarne E. Helvik Centre for Quantifiable Quality of Service in Communication Systems,

More information

Efficiency of Data Distribution in BitTorrent-Like Systems

Efficiency of Data Distribution in BitTorrent-Like Systems Efficiency of Data Distribution in BitTorrent-Like Systems Ho-Leung Chan 1,, Tak-Wah Lam 2, and Prudence W.H. Wong 3 1 Department of Computer Science, University of Pittsburgh hlchan@cs.pitt.edu 2 Department

More information

A Virtual Laboratory for Study of Algorithms

A Virtual Laboratory for Study of Algorithms A Virtual Laboratory for Study of Algorithms Thomas E. O'Neil and Scott Kerlin Computer Science Department University of North Dakota Grand Forks, ND 58202-9015 oneil@cs.und.edu Abstract Empirical studies

More information

Managing Learning Objects in Large Scale Courseware Authoring Studio 1

Managing Learning Objects in Large Scale Courseware Authoring Studio 1 Managing Learning Objects in Large Scale Courseware Authoring Studio 1 Ivo Marinchev, Ivo Hristov Institute of Information Technologies Bulgarian Academy of Sciences, Acad. G. Bonchev Str. Block 29A, Sofia

More information

Efficient Power Management in Wireless Communication

Efficient Power Management in Wireless Communication Efficient Power Management in Wireless Communication R.Saranya 1, Mrs.J.Meena 2 M.E student,, Department of ECE, P.S.R.College of Engineering, sivakasi, Tamilnadu, India 1 Assistant professor, Department

More information

A System for Bidirectional Robotic Pathfinding

A System for Bidirectional Robotic Pathfinding A System for Bidirectional Robotic Pathfinding Tesca K. Fitzgerald Department of Computer Science, Portland State University PO Box 751 Portland, OR 97207 USA tesca@cs.pdx.edu TR 12-02 November 2012 Abstract

More information

Model-checking with the TimeLine formalism

Model-checking with the TimeLine formalism Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software

More information

Massively Parallel Seesaw Search for MAX-SAT

Massively Parallel Seesaw Search for MAX-SAT Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The

More information

OpenMDM Client Technologies Overview

OpenMDM Client Technologies Overview OpenMDM Client Technologies Overview Table of Contents 1. Technological Approach... 2 1.1. Full Web Stack... 2 1.2. Full Desktop Stack... 2 1.3. Web Stack with Device Helpers... 2 1.4. Shared Web and Desktop

More information

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Announcements.  me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,

More information

An algorithm for Performance Analysis of Single-Source Acyclic graphs

An algorithm for Performance Analysis of Single-Source Acyclic graphs An algorithm for Performance Analysis of Single-Source Acyclic graphs Gabriele Mencagli September 26, 2011 In this document we face with the problem of exploiting the performance analysis of acyclic graphs

More information

AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS

AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS Emre Alpman Graduate Research Assistant Aerospace Engineering Department Pennstate University University Park, PA, 6802 Abstract A new methodology

More information

Grid Computing with Voyager

Grid Computing with Voyager Grid Computing with Voyager By Saikumar Dubugunta Recursion Software, Inc. September 28, 2005 TABLE OF CONTENTS Introduction... 1 Using Voyager for Grid Computing... 2 Voyager Core Components... 3 Code

More information

An Annotation Tool for Semantic Documents

An Annotation Tool for Semantic Documents An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document

More information

PERSONAL communications service (PCS) provides

PERSONAL communications service (PCS) provides 646 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 5, NO. 5, OCTOBER 1997 Dynamic Hierarchical Database Architecture for Location Management in PCS Networks Joseph S. M. Ho, Member, IEEE, and Ian F. Akyildiz,

More information

IX: A Protected Dataplane Operating System for High Throughput and Low Latency

IX: A Protected Dataplane Operating System for High Throughput and Low Latency IX: A Protected Dataplane Operating System for High Throughput and Low Latency Belay, A. et al. Proc. of the 11th USENIX Symp. on OSDI, pp. 49-65, 2014. Reviewed by Chun-Yu and Xinghao Li Summary In this

More information

Project Name. The Eclipse Integrated Computational Environment. Jay Jay Billings, ORNL Parent Project. None selected yet.

Project Name. The Eclipse Integrated Computational Environment. Jay Jay Billings, ORNL Parent Project. None selected yet. Project Name The Eclipse Integrated Computational Environment Jay Jay Billings, ORNL 20140219 Parent Project None selected yet. Background The science and engineering community relies heavily on modeling

More information

Performance Analysis of Delay Tolerant Network Routing Protocols in Different Mobility Environments

Performance Analysis of Delay Tolerant Network Routing Protocols in Different Mobility Environments Performance Analysis of Delay Tolerant Network Routing Protocols in Different Mobility Environments Bhed Bahadur Bista Faculty of Software and Information Science Iwate Prefectural University Takizawa

More information

Deploying Multiple Service Chain (SC) Instances per Service Chain BY ABHISHEK GUPTA FRIDAY GROUP MEETING APRIL 21, 2017

Deploying Multiple Service Chain (SC) Instances per Service Chain BY ABHISHEK GUPTA FRIDAY GROUP MEETING APRIL 21, 2017 Deploying Multiple Service Chain (SC) Instances per Service Chain BY ABHISHEK GUPTA FRIDAY GROUP MEETING APRIL 21, 2017 Virtual Network Function (VNF) Service Chain (SC) 2 Multiple VNF SC Placement and

More information

12 The PEPA Plug-in for Eclipse

12 The PEPA Plug-in for Eclipse 12 The PEPA Plug-in for Eclipse In this lecture note we introduce the tool support which is available when modelling with PEPA. Undertaking modelling studies of any reasonable size is only possible if

More information

Random projection for non-gaussian mixture models

Random projection for non-gaussian mixture models Random projection for non-gaussian mixture models Győző Gidófalvi Department of Computer Science and Engineering University of California, San Diego La Jolla, CA 92037 gyozo@cs.ucsd.edu Abstract Recently,

More information

Cost Effectiveness of Programming Methods A Replication and Extension

Cost Effectiveness of Programming Methods A Replication and Extension A Replication and Extension Completed Research Paper Wenying Sun Computer Information Sciences Washburn University nan.sun@washburn.edu Hee Seok Nam Mathematics and Statistics Washburn University heeseok.nam@washburn.edu

More information

Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator

Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator Stanley Bak Abstract Network algorithms are deployed on large networks, and proper algorithm evaluation is necessary to avoid

More information

Performance Cockpit: An Extensible GUI Platform for Performance Tools

Performance Cockpit: An Extensible GUI Platform for Performance Tools Performance Cockpit: An Extensible GUI Platform for Performance Tools Tianchao Li and Michael Gerndt Institut für Informatik, Technische Universität München, Boltzmannstr. 3, D-85748 Garching bei Mu nchen,

More information

Random Search Report An objective look at random search performance for 4 problem sets

Random Search Report An objective look at random search performance for 4 problem sets Random Search Report An objective look at random search performance for 4 problem sets Dudon Wai Georgia Institute of Technology CS 7641: Machine Learning Atlanta, GA dwai3@gatech.edu Abstract: This report

More information

Vortex Whitepaper. Intelligent Data Sharing for the Business-Critical Internet of Things. Version 1.1 June 2014 Angelo Corsaro Ph.D.

Vortex Whitepaper. Intelligent Data Sharing for the Business-Critical Internet of Things. Version 1.1 June 2014 Angelo Corsaro Ph.D. Vortex Whitepaper Intelligent Data Sharing for the Business-Critical Internet of Things Version 1.1 June 2014 Angelo Corsaro Ph.D., CTO, PrismTech Vortex Whitepaper Version 1.1 June 2014 Table of Contents

More information

Energy Consumption and Performance of Delay Tolerant Network Routing Protocols under Different Mobility Models

Energy Consumption and Performance of Delay Tolerant Network Routing Protocols under Different Mobility Models 2016 7th International Conference on Intelligent Systems, Modelling and Simulation Energy Consumption and Performance of Delay Tolerant Network Routing Protocols under Different Mobility Models Bhed Bahadur

More information

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Metaheuristic Optimization with Evolver, Genocop and OptQuest Metaheuristic Optimization with Evolver, Genocop and OptQuest MANUEL LAGUNA Graduate School of Business Administration University of Colorado, Boulder, CO 80309-0419 Manuel.Laguna@Colorado.EDU Last revision:

More information

Utilizing Device Behavior in Structure-Based Diagnosis

Utilizing Device Behavior in Structure-Based Diagnosis Utilizing Device Behavior in Structure-Based Diagnosis Adnan Darwiche Cognitive Systems Laboratory Department of Computer Science University of California Los Angeles, CA 90024 darwiche @cs. ucla. edu

More information

W H I T E P A P E R : O P E N. V P N C L O U D. Implementing A Secure OpenVPN Cloud

W H I T E P A P E R : O P E N. V P N C L O U D. Implementing A Secure OpenVPN Cloud W H I T E P A P E R : O P E N. V P N C L O U D Implementing A Secure OpenVPN Cloud Platform White Paper: OpenVPN Cloud Platform Implementing OpenVPN Cloud Platform Content Introduction... 3 The Problems...

More information

Time Triggered and Event Triggered; Off-line Scheduling

Time Triggered and Event Triggered; Off-line Scheduling Time Triggered and Event Triggered; Off-line Scheduling Real-Time Architectures -TUe Gerhard Fohler 2004 Mälardalen University, Sweden gerhard.fohler@mdh.se Real-time: TT and ET Gerhard Fohler 2004 1 Activation

More information

A Tool for the Computation of Worst Case Task Execution Times

A Tool for the Computation of Worst Case Task Execution Times A Tool for the Computation of Worst Case Task Execution Times P. Puschner and A. Schedl Institut fur Technische Informatik Technical University of Vienna Vienna, A-1040 Austria Abstract In modern programming

More information

Ballista Design and Methodology

Ballista Design and Methodology Ballista Design and Methodology October 1997 Philip Koopman Institute for Complex Engineered Systems Carnegie Mellon University Hamershlag Hall D-202 Pittsburgh, PA 15213 koopman@cmu.edu (412) 268-5225

More information

Crisis and paradox in distributed-systems development

Crisis and paradox in distributed-systems development IEEE DISTRIBUTED SYSTEMS ONLINE 1541-4922 2005 Published by the IEEE Computer Society Vol. 6, No. 3; March 2005 Department Editor: Olivier Marin, http://www.cs.vu.nl/~omarin/, Laboratoire d'informatique

More information

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given

More information

CA Test Data Manager Key Scenarios

CA Test Data Manager Key Scenarios WHITE PAPER APRIL 2016 CA Test Data Manager Key Scenarios Generate and secure all the data needed for rigorous testing, and provision it to highly distributed teams on demand. Muhammad Arif Application

More information

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Ewa Kusmierek and David H.C. Du Digital Technology Center and Department of Computer Science and Engineering University of Minnesota

More information

Achieving Distributed Buffering in Multi-path Routing using Fair Allocation

Achieving Distributed Buffering in Multi-path Routing using Fair Allocation Achieving Distributed Buffering in Multi-path Routing using Fair Allocation Ali Al-Dhaher, Tricha Anjali Department of Electrical and Computer Engineering Illinois Institute of Technology Chicago, Illinois

More information

A framework for efficient regression tests on database applications

A framework for efficient regression tests on database applications The VLDB Journal (2007) 16:145 164 DOI 10.1007/s00778-006-0028-8 SPECIAL ISSUE PAPER A framework for efficient regression tests on database applications Florian Haftmann Donald Kossmann Eric Lo Received:

More information

Why Consider Implementation-Level Decisions in Software Architectures?

Why Consider Implementation-Level Decisions in Software Architectures? 1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University

More information

Determining the Best Approach

Determining the Best Approach 2 Determining the Best Approach The remaining chapters of this book cover the capabilities of the BlackBerry application platform and then dig into each application development option in detail. Before

More information

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or other reproductions of copyrighted material. Any copying

More information

Modeling with Uncertainty Interval Computations Using Fuzzy Sets

Modeling with Uncertainty Interval Computations Using Fuzzy Sets Modeling with Uncertainty Interval Computations Using Fuzzy Sets J. Honda, R. Tankelevich Department of Mathematical and Computer Sciences, Colorado School of Mines, Golden, CO, U.S.A. Abstract A new method

More information

Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT 1. INTRODUCTION

Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT 1. INTRODUCTION heuristic optimization, distributed computation, optimization frameworks Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT FOR PARALLEL HEURISTIC OPTIMIZATION

More information

Optimizing Management Functions in Distributed Systems

Optimizing Management Functions in Distributed Systems Journal of Network and Systems Management, Vol. 10, No. 4, December 2002 ( C 2002) Optimizing Management Functions in Distributed Systems Hasina Abdu, 1,3 Hanan Lutfiyya, 2 and Michael A. Bauer 2 With

More information

Characterizing Traffic Demand Aware Overlay Routing Network Topologies

Characterizing Traffic Demand Aware Overlay Routing Network Topologies Characterizing Traffic Demand Aware Overlay Routing Network Topologies Benjamin D. McBride Kansas State University Rathbone Hall Manhattan, KS Email: bdm@ksu.edu Caterina Scoglio Kansas State University

More information

Fast Fuzzy Clustering of Infrared Images. 2. brfcm

Fast Fuzzy Clustering of Infrared Images. 2. brfcm Fast Fuzzy Clustering of Infrared Images Steven Eschrich, Jingwei Ke, Lawrence O. Hall and Dmitry B. Goldgof Department of Computer Science and Engineering, ENB 118 University of South Florida 4202 E.

More information

Enhanced Parity Packet Transmission for Video Multicast using R-DSTC

Enhanced Parity Packet Transmission for Video Multicast using R-DSTC 21st Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications Enhanced Parity Packet Transmission for Video Multicast using R-DSTC Özgü Alay, Zhili Guo, Yao Wang, Elza Erkip

More information

Model and Algorithms for the Density, Coverage and Connectivity Control Problem in Flat WSNs

Model and Algorithms for the Density, Coverage and Connectivity Control Problem in Flat WSNs Model and Algorithms for the Density, Coverage and Connectivity Control Problem in Flat WSNs Flávio V. C. Martins, cruzeiro@dcc.ufmg.br Frederico P. Quintão, fred@dcc.ufmg.br Fabíola G. Nakamura fgnaka@dcc.ufmg.br,fabiola@dcc.ufam.edu.br

More information

AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems

AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems Alan Burns, James Harbin, Leandro Indrusiak, Iain Bate, Robert Davis and David Griffin Real-Time Systems Research Group

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Eclipse as a Web 2.0 Application Position Paper

Eclipse as a Web 2.0 Application Position Paper Eclipse Summit Europe Server-side Eclipse 11 12 October 2006 Eclipse as a Web 2.0 Application Position Paper Automatic Web 2.0 - enabling of any RCP-application with Xplosion Introduction If todays Web

More information

Modulation-Aware Energy Balancing in Hierarchical Wireless Sensor Networks 1

Modulation-Aware Energy Balancing in Hierarchical Wireless Sensor Networks 1 Modulation-Aware Energy Balancing in Hierarchical Wireless Sensor Networks 1 Maryam Soltan, Inkwon Hwang, Massoud Pedram Dept. of Electrical Engineering University of Southern California Los Angeles, CA

More information

Use Case 2: Extending object/application to support a new object attribute and a validation for that attribute using either Scripting or Java.

Use Case 2: Extending object/application to support a new object attribute and a validation for that attribute using either Scripting or Java. Overview This use case in this document show how the tooling provided with the products based on Tivoli s process automation engine can help you add value through product extensions and/or integration

More information

Automating scientific and engineering computing

Automating scientific and engineering computing Automating scientific and engineering computing Elisha Sacks* Computer Science Department Princeton University Princeton, NJ 08544 Leo Joskowicz IBM T. J. Watson Research Center P.O. Box 704 Yorktown Heights,

More information

University of Paderborn Faculty of Business and Economics Depatment of Information Systems Decision Support & Operations Research Lab.

University of Paderborn Faculty of Business and Economics Depatment of Information Systems Decision Support & Operations Research Lab. University of Paderborn Faculty of Business and Economics Depatment of Information Systems Decision Support & Operations Research Lab Working Paper WP0 An Algorithm Selection Benchmark of the Container

More information

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES Wolfgang Friess AUDI AG wolfgang.friess@audi.de Julio Sincero University Erlangen-Nuernberg sincero@informatik.uni-erlangen.de Wolfgang

More information

Providing Real-Time and Fault Tolerance for CORBA Applications

Providing Real-Time and Fault Tolerance for CORBA Applications Providing Real-Time and Tolerance for CORBA Applications Priya Narasimhan Assistant Professor of ECE and CS University Pittsburgh, PA 15213-3890 Sponsored in part by the CMU-NASA High Dependability Computing

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Thomas Nolte, Hans Hansson, and Christer Norström Mälardalen Real-Time Research Centre Department of Computer Engineering

More information

Semantic Web in a Constrained Environment

Semantic Web in a Constrained Environment Semantic Web in a Constrained Environment Laurens Rietveld and Stefan Schlobach Department of Computer Science, VU University Amsterdam, The Netherlands {laurens.rietveld,k.s.schlobach}@vu.nl Abstract.

More information

Compositional Schedulability Analysis of Hierarchical Real-Time Systems

Compositional Schedulability Analysis of Hierarchical Real-Time Systems Compositional Schedulability Analysis of Hierarchical Real-Time Systems Arvind Easwaran, Insup Lee, Insik Shin, and Oleg Sokolsky Department of Computer and Information Science University of Pennsylvania,

More information

SDACCEL DEVELOPMENT ENVIRONMENT. The Xilinx SDAccel Development Environment. Bringing The Best Performance/Watt to the Data Center

SDACCEL DEVELOPMENT ENVIRONMENT. The Xilinx SDAccel Development Environment. Bringing The Best Performance/Watt to the Data Center SDAccel Environment The Xilinx SDAccel Development Environment Bringing The Best Performance/Watt to the Data Center Introduction Data center operators constantly seek more server performance. Currently

More information

Toward Intrusion Tolerant Clouds

Toward Intrusion Tolerant Clouds Toward Intrusion Tolerant Clouds Prof. Yair Amir, Prof. Vladimir Braverman Daniel Obenshain, Tom Tantillo Department of Computer Science Johns Hopkins University Prof. Cristina Nita-Rotaru, Prof. Jennifer

More information

Extended Dataflow Model For Automated Parallel Execution Of Algorithms

Extended Dataflow Model For Automated Parallel Execution Of Algorithms Extended Dataflow Model For Automated Parallel Execution Of Algorithms Maik Schumann, Jörg Bargenda, Edgar Reetz and Gerhard Linß Department of Quality Assurance and Industrial Image Processing Ilmenau

More information

Visualisation of ATM network connectivity and topology

Visualisation of ATM network connectivity and topology Visualisation of ATM network connectivity and topology Oliver Saal and Edwin Blake CS00-13-00 Collaborative Visual Computing Laboratory Department of Computer Science University of Cape Town Private Bag,

More information

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems Andrey Nechypurenko 1, Egon Wuchner 1, Jules White 2, and Douglas C. Schmidt 2 1 Siemens AG, Corporate Technology

More information

Scheduling Real Time Parallel Structure on Cluster Computing with Possible Processor failures

Scheduling Real Time Parallel Structure on Cluster Computing with Possible Processor failures Scheduling Real Time Parallel Structure on Cluster Computing with Possible Processor failures Alaa Amin and Reda Ammar Computer Science and Eng. Dept. University of Connecticut Ayman El Dessouly Electronics

More information

ARTIFICIAL INTELLIGENCE LECTURE 3. Ph. D. Lect. Horia Popa Andreescu rd year, semester 5

ARTIFICIAL INTELLIGENCE LECTURE 3. Ph. D. Lect. Horia Popa Andreescu rd year, semester 5 ARTIFICIAL INTELLIGENCE LECTURE 3 Ph. D. Lect. Horia Popa Andreescu 2012-2013 3 rd year, semester 5 The slides for this lecture are based (partially) on chapter 4 of the Stuart Russel Lecture Notes [R,

More information

DEPLOYMENT OF PERFORMANCE IN LARGE SCALE WIRELESS MESH NETWORK 1

DEPLOYMENT OF PERFORMANCE IN LARGE SCALE WIRELESS MESH NETWORK 1 DEPLOYMENT OF PERFORMANCE IN LARGE SCALE WIRELESS MESH NETWORK 1 Richa Sharma, 2 Ms.Pency Juneja 1 Perusing M.Tech (CSE), 2 Assistant Professor Lovely Professional University, Phagwara Email: 1 rsricha177@gmail.com,

More information

Using Genetic Algorithms to Solve the Box Stacking Problem

Using Genetic Algorithms to Solve the Box Stacking Problem Using Genetic Algorithms to Solve the Box Stacking Problem Jenniffer Estrada, Kris Lee, Ryan Edgar October 7th, 2010 Abstract The box stacking or strip stacking problem is exceedingly difficult to solve

More information

This is a repository copy of A Rule Chaining Architecture Using a Correlation Matrix Memory.

This is a repository copy of A Rule Chaining Architecture Using a Correlation Matrix Memory. This is a repository copy of A Rule Chaining Architecture Using a Correlation Matrix Memory. White Rose Research Online URL for this paper: http://eprints.whiterose.ac.uk/88231/ Version: Submitted Version

More information

«Computer Science» Requirements for applicants by Innopolis University

«Computer Science» Requirements for applicants by Innopolis University «Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly

More information

Chapter 8 Visualization and Optimization

Chapter 8 Visualization and Optimization Chapter 8 Visualization and Optimization Recommended reference books: [1] Edited by R. S. Gallagher: Computer Visualization, Graphics Techniques for Scientific and Engineering Analysis by CRC, 1994 [2]

More information

CSE 473: Artificial Intelligence

CSE 473: Artificial Intelligence CSE 473: Artificial Intelligence Constraint Satisfaction Luke Zettlemoyer Multiple slides adapted from Dan Klein, Stuart Russell or Andrew Moore What is Search For? Models of the world: single agent, deterministic

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Mixed Criticality Scheduling in Time-Triggered Legacy Systems

Mixed Criticality Scheduling in Time-Triggered Legacy Systems Mixed Criticality Scheduling in Time-Triggered Legacy Systems Jens Theis and Gerhard Fohler Technische Universität Kaiserslautern, Germany Email: {jtheis,fohler}@eit.uni-kl.de Abstract Research on mixed

More information

The Fibonacci hypercube

The Fibonacci hypercube AUSTRALASIAN JOURNAL OF COMBINATORICS Volume 40 (2008), Pages 187 196 The Fibonacci hypercube Fred J. Rispoli Department of Mathematics and Computer Science Dowling College, Oakdale, NY 11769 U.S.A. Steven

More information

Network Topology Control and Routing under Interface Constraints by Link Evaluation

Network Topology Control and Routing under Interface Constraints by Link Evaluation Network Topology Control and Routing under Interface Constraints by Link Evaluation Mehdi Kalantari Phone: 301 405 8841, Email: mehkalan@eng.umd.edu Abhishek Kashyap Phone: 301 405 8843, Email: kashyap@eng.umd.edu

More information

An Eclipse Plug-in for Model Checking

An Eclipse Plug-in for Model Checking An Eclipse Plug-in for Model Checking Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala Electrical Engineering and Computer Sciences University of California, Berkeley, USA Rupak Majumdar Computer Science

More information

Priya Narasimhan. Assistant Professor of ECE and CS Carnegie Mellon University Pittsburgh, PA

Priya Narasimhan. Assistant Professor of ECE and CS Carnegie Mellon University Pittsburgh, PA OMG Real-Time and Distributed Object Computing Workshop, July 2002, Arlington, VA Providing Real-Time and Fault Tolerance for CORBA Applications Priya Narasimhan Assistant Professor of ECE and CS Carnegie

More information

APPROXIMATING A PARALLEL TASK SCHEDULE USING LONGEST PATH

APPROXIMATING A PARALLEL TASK SCHEDULE USING LONGEST PATH APPROXIMATING A PARALLEL TASK SCHEDULE USING LONGEST PATH Daniel Wespetal Computer Science Department University of Minnesota-Morris wesp0006@mrs.umn.edu Joel Nelson Computer Science Department University

More information

Conditional Elimination through Code Duplication

Conditional Elimination through Code Duplication Conditional Elimination through Code Duplication Joachim Breitner May 27, 2011 We propose an optimizing transformation which reduces program runtime at the expense of program size by eliminating conditional

More information

Debugging Abstract State Machine Specifications: An Extension of CoreASM

Debugging Abstract State Machine Specifications: An Extension of CoreASM Debugging Abstract State Machine Specifications: An Extension of CoreASM Marcel Dausend, Michael Stegmaier and Alexander Raschke Institute of Software Engineering and Compiler Construction, University

More information

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Modeling, Testing and Executing Reo Connectors with the

More information

Pattern composition in graph transformation rules

Pattern composition in graph transformation rules Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok

More information

End-To-End Delay Optimization in Wireless Sensor Network (WSN)

End-To-End Delay Optimization in Wireless Sensor Network (WSN) Shweta K. Kanhere 1, Mahesh Goudar 2, Vijay M. Wadhai 3 1,2 Dept. of Electronics Engineering Maharashtra Academy of Engineering, Alandi (D), Pune, India 3 MITCOE Pune, India E-mail: shweta.kanhere@gmail.com,

More information

Ranking Clustered Data with Pairwise Comparisons

Ranking Clustered Data with Pairwise Comparisons Ranking Clustered Data with Pairwise Comparisons Alisa Maas ajmaas@cs.wisc.edu 1. INTRODUCTION 1.1 Background Machine learning often relies heavily on being able to rank the relative fitness of instances

More information

Machine Learning for Software Engineering

Machine Learning for Software Engineering Machine Learning for Software Engineering Single-State Meta-Heuristics Prof. Dr.-Ing. Norbert Siegmund Intelligent Software Systems 1 2 Recap: Goal is to Find the Optimum Challenges of general optimization

More information

Behavioral Array Mapping into Multiport Memories Targeting Low Power 3

Behavioral Array Mapping into Multiport Memories Targeting Low Power 3 Behavioral Array Mapping into Multiport Memories Targeting Low Power 3 Preeti Ranjan Panda and Nikil D. Dutt Department of Information and Computer Science University of California, Irvine, CA 92697-3425,

More information

A Framework for Reliability Assessment of Software Components

A Framework for Reliability Assessment of Software Components A Framework for Reliability Assessment of Software Components Rakesh Shukla, Paul Strooper, and David Carrington School of Information Technology and Electrical Engineering, The University of Queensland,

More information

Massively Parallel Approximation Algorithms for the Traveling Salesman Problem

Massively Parallel Approximation Algorithms for the Traveling Salesman Problem Massively Parallel Approximation Algorithms for the Traveling Salesman Problem Vaibhav Gandhi May 14, 2015 Abstract This paper introduces the reader to massively parallel approximation algorithms which

More information

Andrew Davenport and Edward Tsang. fdaveat,edwardgessex.ac.uk. mostly soluble problems and regions of overconstrained, mostly insoluble problems as

Andrew Davenport and Edward Tsang. fdaveat,edwardgessex.ac.uk. mostly soluble problems and regions of overconstrained, mostly insoluble problems as An empirical investigation into the exceptionally hard problems Andrew Davenport and Edward Tsang Department of Computer Science, University of Essex, Colchester, Essex CO SQ, United Kingdom. fdaveat,edwardgessex.ac.uk

More information

SIPCache: A Distributed SIP Location Service for Mobile Ad-Hoc Networks

SIPCache: A Distributed SIP Location Service for Mobile Ad-Hoc Networks SIPCache: A Distributed SIP Location Service for Mobile Ad-Hoc Networks Simone Leggio Hugo Miranda Kimmo Raatikainen Luís Rodrigues University of Helsinki University of Lisbon August 16, 2006 Abstract

More information