Framework for replica selection in fault-tolerant distributed systems
|
|
- Dortha Shields
- 5 years ago
- Views:
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 Chris Mattmann University of Southern California University Park Campus, Los Angeles, CA 90007 mattmann@usc.edu
More informationWelfare 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 informationTopic 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 informationEECS 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 information3.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 information1.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 informationLimiting 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 informationEfficiency 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 informationA 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 informationManaging 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 informationEfficient 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 informationA 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 informationModel-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 informationMassively 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 informationOpenMDM 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 informationAnnouncements. 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 informationAn 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 informationAIRFOIL 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 informationGrid 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 informationAn 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 informationPERSONAL 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 informationIX: 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 informationProject 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 informationPerformance 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 informationDeploying 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 information12 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 informationRandom 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 informationCost 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 informationLarge-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 informationPerformance 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 informationRandom 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 informationVortex 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 informationEnergy 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 informationMetaheuristic 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 informationUtilizing 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 informationW 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 informationTime 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 informationA 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 informationBallista 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 informationCrisis 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 informationFILTER 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 informationCA 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 informationReduction 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 informationAchieving 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 informationA 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 informationWhy 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 informationDetermining 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 informationNOTICE 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 informationModeling 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 informationStefan 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 informationOptimizing 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 informationCharacterizing 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 informationFast 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 informationEnhanced 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 informationModel 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 informationAirTight: 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 informationDiscrete 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 informationEclipse 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 informationModulation-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 informationUse 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 informationAutomating 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 informationUniversity 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 informationMODELLING 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 informationProviding 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 informationUnit 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 informationProbabilistic 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 informationSemantic 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 informationCompositional 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 informationSDACCEL 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 informationToward 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 informationExtended 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 informationVisualisation 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 informationApplying 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 informationScheduling 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 informationARTIFICIAL 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 informationDEPLOYMENT 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 informationUsing 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 informationThis 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 Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly
More informationChapter 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 informationCSE 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 informationTheorem 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 informationMixed 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 informationThe 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 informationNetwork 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 informationAn 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 informationPriya 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 informationAPPROXIMATING 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 informationConditional 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 informationDebugging 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 informationModeling, 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 informationPattern 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 informationEnd-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 informationRanking 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 informationMachine 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 informationBehavioral 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 informationA 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 informationMassively 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 informationAndrew 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 informationSIPCache: 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