Paulo Guedes
Instituto Superior Técnico
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Paulo Guedes.
principles of distributed computing | 1994
Nuno Ferreira Neves; Miguel Castro; Paulo Guedes
Workstation clusters are becoming an interesting alternative to dedicated multiprocessors. In this environment, the probability of a failure, during an application’s execution, increases with the execution time and the number of workstations used. If no provision is made for handling failures, it is unlikely that long running applications will terminate successfully. One solution to this problem is process checkpointing. This paper presents a checkpoint protocol for a multithreaded distributed shared memory system based on the entry consistency memory model. The protocol allows transparent recovery from single node failures and, in some cases, from multiple node failures. A simple mechanism is used to determine if the system can be brought to a consistent state in the event of multiple machine crashes. The protocol keeps a distributed log of shared data accesses in the volatile memory of the processes, taking advantage of the independent failure characteristics of workstation clusters. Periodically, or whenever the log reaches a highwater mark, each process checkpoints its state, independently from the others. The protocol needs no extra messages during the failure-free period, since all checkpoint control information is piggybacked on the memory coherence protocol messages.
operating systems design and implementation | 1996
Manuel Costa; Paulo Guedes; Manuel Sequeira; Nuno Ferreira Neves; Miguel Castro
This paper presents a new logging and recovery algorithm for lazy release consistent distributed shared memory (DSM). The new algorithm tolerates single node failures by maintaining a distributed log of data dependencies in the volatile memory of processes. The algorithm adds very little overhead to the memory consistency protocol: it sends no additional messages during failure-free periods; it adds only a minimal amount of data to one of the DSM protocol messages; it introduces no forced rollbacks of non-faulty processes; and it performs no communication-induced accesses to stable storage. Furthermore, the algorithm logs only a very small amount of data, because it uses the log of memory accesses already maintained by the memory consistency protocol. The algorithm was implemented in TreadMarks, a state-of-the-art DSM system. Experimental results show that the algorithm has near zero time overhead and very low space overhead during failure-free execution, thus refuting the common belief that logging overhead is necessarily high in recoverable DSM systems.
Advances in Computers | 1999
Paulo Ferreira; Marc Shapiro; Xavier Blondel; Olivier Fambon; João Garcia; Sytse Kloosterman; Nicolas Richer; Marcus Roberts; Fadi Sandakly; George Coulouris; Jean Dollimore; Paulo Guedes; Daniel Hagimont
The PerDis (Persisent Distributed Store) project addresses the issue of providing support for distributed collaborative engineering applications. We describe the design and implementation of the PerDis platform, and its support for such applications. Collaborative engineering raises system issues related to the sharing of large volumes of fine-grain, complex objects across wide-area networks and administrative boundaries. PerDiS manages all these aspects in a well defined, integrated, and automatic way. Distributed application programming is simplified because it uses the same memory abstraction as in the centralized case. Porting an existing centralized program written in C or C++ is usually a matter of a few, well-isolated changes. We present some performance results from a proof-of-concept platform that runs a number of small, but real, distributed applications on Unix and Windows NT. These confirm that the PerDiS abstraction is well adapted to the targeted application area and that the overall performance is promising compared to alternative approaches.
conference on object oriented programming systems languages and applications | 1989
José Alves Marques; Paulo Guedes
Comandos is a project within the European Strategic Programme for Research on Information Technology - ESPRIT and it stems from the identified need of providing simpler and more integrated environments for application development in large distributed systems. The fundamental goal of the project is the definition of an integrated platform providing support for distributed and concurrent processing in a LAN environment, extensible and distributed data management and tools for monitoring and administrating the distributed environment. An object oriented approach was used as the ground level for the integration of the multidisciplinary concepts addressed in the project. This paper starts by describing the basic model and architecture of Comandos, which results from a common effort by all the partners in the project. We focus then on the description of a first prototype of the system, which implements a subset of the architecture and is currently running on a set of personal computers and workstations at INESC. The prototype is a testbed for the architecture, providing dynamic linking, access to persistent objects and transparent distribution. Special attention is given to the performance aspects of object invocation in virtual memory.
workshop on hot topics in operating systems | 1993
Paulo Guedes; Miguel Castro
This paper describes the goals, programming model and design of DiSOM, a software based distributed shared memory system for a multicomputer composed of heterogeneous nodes connected by a high-speed network. A typical configuration is a cluster of tens of high-performance workstations and shared-memory multiprocessors of two or three different architectures, each with a processing power of a few hundred MIPS and several hundred kilobytes of memory, and connected by a high-speed interconnect such as ATM. Programs in DiSOM are written using a shared-memory multiprocessor model where synchronization objects are associated with data items. Programs use a threads library to start new threads, possibly at a specified node, and to synchronize between concurrent threads. Programs must call the synchronization primitives explicitly, as they would in a shared-memory multiprocessor. The system traps these calls and uses the information to drive both distributed synchronization and the memory coherence protocol. DiSOM uses the entry consistency memory model to ensure coherence. This model guarantees memory consistency, as long as an access to a data item is enclosed between an acquire and a release on the synchronization object associated with the data item. Stronger consistency models, such as release consistency and processor consistency, may also be supported.<<ETX>>
international conference on parallel processing | 1996
Miguel Castro; Manuel Sequeira; Manuel Costa; Paulo Guedes
DiSOM is a software-based distributed shared memory (DSM) system, which supports intra- and inter-application sharing in heterogeneous networks of microprocessor workstations. Unlike previous DSM systems, DiSOM provides fine-grained control over communication while retaining a simple shared memory model. It achieves this by using an update-based implementation of entry consistency, semaphores, remote object invocation, dynamic decomposition of objects and object-oriented language mechanisms. These techniques allow programmers to exploit application-specific knowledge to improve performance. A comparison between DiSOM and TreadMarks, a state-of-the-art DSM system, shows that on average DiSOM executes 33% faster and sends 69% fewer messages and 38% less data.
workshops on enabling technologies infrastracture for collaborative enterprises | 1999
Carlos Ribeiro; Paulo Guedes
Workflow applications for large complex organizations often need to cross several security domains, each with different management and specific security requirements. The resultant cross-dependency between the workflow specification and the security policy of each domain can be hard to manage without specific tools. This work presents a static analyzer that automatically verifies the consistency between workflow specifications written in WPDL (Workflow Process Definition Language) and organization security policies, written in a security language specially designed to express simultaneously several security policies.
international symposium on microarchitecture | 1996
André Zúquete; Paulo Guedes
Client-server network privacy requires secure transmission channels instead of standard remote connections. A tested research prototype will soon be placed in the public domain.
Software - Practice and Experience | 1988
J. Alves Marques; J. P. Cunha; Paulo Guedes; Nuno Guimarães; Alberto R. Cunha
This article analyses the structure of the distributed operating system of the SMD project— DIOS.
Archive | 2000
João Garcia; Paulo Ferreira; Paulo Guedes
Parallel operating systems are the interface between parallel computers (or computer systems) and the applications (parallel or not) that are executed on them. They translate the hardware’s capabilities into concepts usable by programming languages.