222 research outputs found

    A debugging engine for parallel and distributed programs

    Get PDF
    Dissertação apresentada para a obtenção do Grau de Doutor em Informática pela Universidade Nova de Lisboa, Faculdade de Ciências e Tecnologia.In the last decade a considerable amount of research work has focused on distributed debugging, one of the crucial fields in the parallel software development cycle. The productivity of the software development process strongly depends on the adequate definition of what debugging tools should be provided, and what debugging methodologies and functionalities should these tools support. The work described in this dissertation was initiated in 1995, in the context of two research projects, the SEPP (Software Engineering for Parallel Processing) and HPCTI (High-Performance Computing Tools for Industry), both sponsored by the European Union in the Copernicus programme, which aimed at the design and implementation of an integrated parallel software development environment. In the context of these projects, two independent toolsets have been developed, the GRADE and EDPEPPS parallel software development environments. Our contribution to these projects was in the debugging support. We have designed a debugging engine and developed a prototype, which was integrated the both toolsets (it was the only tool developed in the context of the SEPP and HPCTI projects which achieved such a result). Even after the closing of those research projects, further research work on distributed debugger has been carried on, which conducted to the re-design and re-implementation of the debugging engine. This dissertation describes the debugging engine according to its most up-to-date design and implementation stages. It also reposts some of the experimentalworkmade with both the initial and the current implementations, and how it contributed to validate the design and implementations of the debugging engine

    The Isis project: Fault-tolerance in large distributed systems

    Get PDF
    This final status report covers activities of the Isis project during the first half of 1992. During the report period, the Isis effort has achieved a major milestone in its effort to redesign and reimplement the Isis system using Mach and Chorus as target operating system environments. In addition, we completed a number of publications that address issues raised in our prior work; some of these have recently appeared in print, while others are now being considered for publication in a variety of journals and conferences

    Development of an Intelligent Monitoring and Control System for a Heterogeneous Numerical Propulsion System Simulation

    Get PDF
    The NASA Numerical Propulsion System Simulation (NPSS) project is exploring the use of computer simulation to facilitate the design of new jet engines. Several key issues raised in this research are being examined in an NPSS-related research project: zooming, monitoring and control, and support for heterogeneity. The design of a simulation executive that addresses each of these issues is described. In this work, the strategy of zooming, which allows codes that model at different levels of fidelity to be integrated within a single simulation, is applied to the fan component of a turbofan propulsion system. A prototype monitoring and control system has been designed for this simulation to support experimentation with expert system techniques for active control of the simulation. An interconnection system provides a transparent means of connecting the heterogeneous systems that comprise the prototype

    Designing Diagnosable Distributed Programs.

    Get PDF
    The difficulty in debugging distributed programs motivates the development of formal methods for designing distributed programs that are easier to debug and maintain. We address state identification problem for distributed systems using the finite state I/O automaton model. A state S is identified based on the unique event sequences starting at S, called distinguishing sequences. An automaton is diagnosable if every state has a distinguishing sequence. A distributed program may not be diagnosable even if its components are diagnosable. Non-dignosable automata can, in some cases, be converted to a diagnosable form by relabelling some of its transitions in a way that preserves the semantics of the program. Not all automata can be converted to a diagnosable form in this way. This is due to inherent ill-posedness of specification. Two algorithms to convert a non-diagnosable automaton to a diagnosable form are presented. Debugging is the controlled execution of one program by another. The latter is called the supervisor of the former. The supervision operation is defined so that the debugging of a distributed program by distributed debuggers is reduced to the same as the debugging of a single program by a single debugger. An algorithm to construct a debugger for a diagnosable program is developed. Every diagnosable program has a unique debugger associated with it. This leads to the introduction of the notion of debugging complexity of programs

    Run-Time Monitoring of Timing Constraints: A Survey of Methods and Tools

    Get PDF
    Abstract-Despite the availability of static analysis methods to achieve a correct-by-construction design for different systems in terms of timing behavior, violations of timing constraints can still occur at run-time due to different reasons. The aim of monitoring of system performance with respect to the timing constraints is to detect the violations of timing specifications, or to predict them based on the current system performance data. Considerable work has been dedicated to suggesting efficient performance monitoring approaches during the past years. This paper presents a survey and classification of those approaches in order to help researchers gain a better view over different methods and developments in monitoring of timing behavior of systems. Classifications of the mentioned approaches are given based on different items that are seen as important in developing a monitoring system, i.e., the use of additional hardware, the data collection approach, etc. Moreover, a description of how these different methods work is presented in this paper along with the advantages and downsides of each of them

    Visualizing the MPI Programs: Using Continuous Semantic Zooming

    Get PDF
    Programs depend on the entities. Their hierarchy varies with the complexity and as their utilization increases the complexity involved in hierarchy also increases. Visualization is a traditional method of representing complex entities to enhance the human understanding. Visualization of parallel programs is not a new concept. But, the approaches followed to obtain this goal of visualizing the Message Passing Interface (MPI) programs are unique in their own ways. There are no tools, which are capable of implementing all aspects of MPI programs in an efficient way. The main reason is the complexity of parallel programs. This thesis involves using Flatland [1], a virtual reality application and its implementation through a concept called Continuous Semantic Zooming (CSZ) [2]. It is hypothesized that this method of visualization can help naïve programmers, that is, people with little or no programming experience to understand the concept of MPI programming and also can serve the purpose of the experts in the fields of MPI programming to look deeper into the issues involving debugging and analyzing the MPI program behavior. The output generated as a trace file from a set of nine MPI programs is taken as an input for the visual representation. We focus on the design, data format, the results and experiences obtained from this project
    corecore