12 research outputs found

    Manejo de recursos-procesos y memoria compartida distribuida

    Get PDF
    Los avances de la tecnología informática y la baja de costos del equipamiento hicieron realidad, en las últimas décadas, el desarrollo de los sistemas distribuidos. Basados en sistemas seguros de comunicación y computadoras personales o estaciones de trabajo cada vez mas veloces , han madurado en su concepción y desarrollo. Por un lado con este soporte, arquitectura física y arquitectura de programación o algorítmica, se desarrollan aplicaciones geográfica y administrativamente distribuidas. Esto presenta el desafio de lograr el mejor aprovechamiento y rendimiento de todo el sistema. En este sentido se orienta el estudio al manejo de recursos y procesos, dado que con una adecuada planificación se puede lograr mejoras sustanciales en el procesamiento total y en aspectos de movilidad. En este proyecto se pretende hacer un refinamiento de las lineas de trabajo de los anteriores (Sistemas Distribuidos: Concurrencia con Datos Compartidos y Sistemas Multiagentes) intentando concentrar los esfuerzos en áreas que presentan problemas abiertos o soluciones parciales como el manejo de procesos y datos, memoria compartida distribuida y movilidad.Eje: Redes, Arquitectura, Sistemas Distribuidos y Tiempo RealRed de Universidades con Carreras en Informática (RedUNCI

    Manejo de recursos-procesos y memoria compartida distribuida

    Get PDF
    Los avances de la tecnología informática y la baja de costos del equipamiento hicieron realidad, en las últimas décadas, el desarrollo de los sistemas distribuidos. Basados en sistemas seguros de comunicación y computadoras personales o estaciones de trabajo cada vez mas veloces , han madurado en su concepción y desarrollo. Por un lado con este soporte, arquitectura física y arquitectura de programación o algorítmica, se desarrollan aplicaciones geográfica y administrativamente distribuidas. Esto presenta el desafio de lograr el mejor aprovechamiento y rendimiento de todo el sistema. En este sentido se orienta el estudio al manejo de recursos y procesos, dado que con una adecuada planificación se puede lograr mejoras sustanciales en el procesamiento total y en aspectos de movilidad. En este proyecto se pretende hacer un refinamiento de las lineas de trabajo de los anteriores (Sistemas Distribuidos: Concurrencia con Datos Compartidos y Sistemas Multiagentes) intentando concentrar los esfuerzos en áreas que presentan problemas abiertos o soluciones parciales como el manejo de procesos y datos, memoria compartida distribuida y movilidad.Eje: Redes, Arquitectura, Sistemas Distribuidos y Tiempo RealRed de Universidades con Carreras en Informática (RedUNCI

    Migración de procesos, memoria compartida distribuida y sistemas multiagentes

    Get PDF
    Las aplicaciones distribuidas, motorizadas por los avances de la tecnología informática, la baja de costos del equipamiento y la natural necesidad de desarrollarlas, se hicieron realidad en los últimos tiempos. Afianzados con sistemas más seguros de comunicación y computadoras personales o estaciones de trabajo cada vez más veloces, han madurado en su concepción, desarrollo e investigación. La situación actual presenta el desafío de lograr el mejor aprovechamiento y rendimiento de todo el sistema. En este sentido se orienta el estudio al manejo de recursos y procesos, principalmente a la migración de procesos que es el eje central de esta concepción. De los resultados que se obtengan resultará: una adecuada planificación que redundará en mejoras sustanciales en el procesamiento total y en aspectos de movilidad. En este proyecto se pretende concentrar los esfuerzos en áreas que presentan problemas abiertos o soluciones parciales como el manejo de procesos y datos, memoria compartida distribuida, movilidad y aspectos cruzados en el modelamiento como o con sistemas multiagentes.Eje: Sistemas DistribuidosRed de Universidades con Carreras en Informática (RedUNCI

    Sistemas distribuidos y agentes

    Get PDF
    Los avances de la tecnología informática y la baja de costos del equipamiento hicieron realidad, en las últimas décadas, el desarrollo de los sistemas distribuidos. Basados en sistemas seguros de comunicación y computadoras personales o estaciones de trabajo cada vez mas veloces , han madurado en su concepción y desarrollo. Por un lado con este soporte, arquitectura física y arquitectura de programación o ~Igorítmica, se desarrollan sistemas inteligentes basados en agentes autónomos e interactuantes que reciben el nombre de sistemas multiagentes. Paralelamente se intenta dotar a los sistemas inherentemente distribuidos de inteligencia en algunos de los componentes que cumplen con roles activos en el manejo de la información y ejecución. Se presenta en este escrito un proyecto de desarrollo de aplicación de agentes en sistemas distribuidosEje: Procesamiento concurrente, paralelo y distribuido. Procesamiento de imágenes.Red de Universidades con Carreras en Informática (RedUNCI

    Sistemas distribuidos y agentes

    Get PDF
    Los avances de la tecnología informática y la baja de costos del equipamiento hicieron realidad, en las últimas décadas, el desarrollo de los sistemas distribuidos. Basados en sistemas seguros de comunicación y computadoras personales o estaciones de trabajo cada vez mas veloces , han madurado en su concepción y desarrollo. Por un lado con este soporte, arquitectura física y arquitectura de programación o ~Igorítmica, se desarrollan sistemas inteligentes basados en agentes autónomos e interactuantes que reciben el nombre de sistemas multiagentes. Paralelamente se intenta dotar a los sistemas inherentemente distribuidos de inteligencia en algunos de los componentes que cumplen con roles activos en el manejo de la información y ejecución. Se presenta en este escrito un proyecto de desarrollo de aplicación de agentes en sistemas distribuidosEje: Procesamiento concurrente, paralelo y distribuido. Procesamiento de imágenes.Red de Universidades con Carreras en Informática (RedUNCI

    Global state predicates in rough real-time

    Get PDF
    Distributed systems are characterized by the fact that the constituent processes have neither common memory nor a common system clock. These processes communicate solely via message passing. While providing a number of benefits such as increased reliability, increased computational power, and geographic dispersion, this architecture significantly complicates many of the tasks of software development and verification, including evaluation of the program state. In the case of distributed systems, the program state is comprised of the local states of the constituent processes, as well as the state of the channels between processes, and is called the global state.;With no common system clock, many distributed system protocols rely on the global ordering of local process events imposed by the message passing that occurs between processes. This leads to a partial global ordering of local process events, which can then be used to determine which process states could (or could not) have occurred simultaneously.;Traditional predicate evaluation protocols evaluate predicates on the global state of a distributed computation using consistent global states. This evaluation is complicated by the fact that the event ordering imposed by message passing is only partial. A complete history of the global states that occurred during an execution cannot always be constructed. This introduces inefficiency into predicate detection protocols and prohibits detection of certain predicates.;This dissertation explores the use of this rough global time base for global state predicate evaluation within distributed systems. By structuring the evaluation on the assumption that a global time base exists, we can develop simple and efficient protocols for both stable and unstable predicate evaluation. Further, we can evaluate certain predicates which are not easily evaluated using consistent global states. We demonstrate these advantages by developing protocols for detection of distributed termination, distributed deadlock detection, and detection of certain unstable predicates as they occur. as the global time base is rough, we can only detect unstable predicates which remain true for a sufficient duration. We additionally develop several formalizations which assist the protocol developer in dealing with the fact that the global time base is not perfect. We demonstrate the application of these formalizations within the protocols that we develop

    Garbage collection in distributed systems

    Get PDF
    PhD ThesisThe provision of system-wide heap storage has a number of advantages. However, when the technique is applied to distributed systems automatically recovering inaccessible variables becomes a serious problem. This thesis presents a survey of such garbage collection techniques but finds that no existing algorithm is entirely suitable. A new, general purpose algorithm is developed and presented which allows individual systems to garbage collect largely independently. The effects of these garbage collections are combined, using recursively structured control mechanisms, to achieve garbage collection of the entire heap with the minimum of overheads. Experimental results show that new algorithm recovers most inaccessible variables more quickly than a straightforward garbage collection, giving an improved memory utilisation

    Causal synchrony in the design of distributed programs

    Get PDF
    The outcome of any computation is determined by the order of the events in the computation and the state of the component variables of the computation at those events. The level of knowledge that can be obtained about event order and process state influences protocol design and operation. In a centralized system, the presence of a physical clock makes it easy to determine event order. It is a more difficult task in a distributed system because there is normally no global time. Hence, there is no common time reference to be used for ordering events. as a consequence, distributed protocols are often designed without explicit reference to event order. Instead they are based on some approximation of global state. Because global state is also difficult to identify in a distributed system, the resulting protocols are not as efficient or clear as they could be.;We subscribe to Lamport\u27s proposition that the relevant temporal ordering of any two events is determined by their causal relationship and that knowledge of the causal order can be a powerful tool in protocol design. Mattern\u27s vector time can be used to identify the causal order, thereby providing the common frame of reference needed to order events in a distributed computation. In this dissertation we present a consistent methodology for analysis and design of distributed protocols that is based on the causal order and vector time. Using it we can specify conditions which must be met for a protocol to be correct, we can define the axiomatic protocol specifications, and we can structure reasoning about the correctness of the specified protocol. Employing causality as a unifying concept clarifies protocol specifications and correctness arguments because it enables them to be defined purely in terms of local states and local events.;We have successfully applied this methodology to the problems of distributed termination detection, distributed deadlock detection and resolution, and optimistic recovery. In all cases, the causally synchronous protocols we have presented are efficient and demonstrably correct

    Sparsely Faceted Arrays: A Mechanism Supporting Parallel Allocation, Communication, and Garbage Collection

    Get PDF
    Conventional parallel computer architectures do not provide support for non-uniformly distributed objects. In this thesis, I introduce sparsely faceted arrays (SFAs), a new low-level mechanism for naming regions of memory, or facets, on different processors in a distributed, shared memory parallel processing system. Sparsely faceted arrays address the disconnect between the global distributed arrays provided by conventional architectures (e.g. the Cray T3 series), and the requirements of high-level parallel programming methods that wish to use objects that are distributed over only a subset of processing elements. A sparsely faceted array names a virtual globally-distributed array, but actual facets are lazily allocated. By providing simple semantics and making efficient use of memory, SFAs enable efficient implementation of a variety of non-uniformly distributed data structures and related algorithms. I present example applications which use SFAs, and describe and evaluate simple hardware mechanisms for implementing SFAs. Keeping track of which nodes have allocated facets for a particular SFA is an important task that suggests the need for automatic memory management, including garbage collection. To address this need, I first argue that conventional tracing techniques such as mark/sweep and copying GC are inherently unscalable in parallel systems. I then present a parallel memory-management strategy, based on reference-counting, that is capable of garbage collecting sparsely faceted arrays. I also discuss opportunities for hardware support of this garbage collection strategy. I have implemented a high-level hardware/OS simulator featuring hardware support for sparsely faceted arrays and automatic garbage collection. I describe the simulator and outline a few of the numerous details associated with a "real" implementation of SFAs and SFA-aware garbage collection. Simulation results are used throughout this thesis in the evaluation of hardware support mechanisms
    corecore