529 research outputs found

    Process Management in Distributed Operating Systems

    Get PDF
    As part of designing and building the Amoeba distributed operating system, we have come up with a simple set of mechanisms for process management that allows downloading process migration, checkpointing, remote debugging and emulation of alien operating system interfaces.\ud The basic process management facilities are realized by the Amoeba Kernel and can be augmented by user-space services: Debug Service, Load-Balancing Service, Unix-Emulation Service, Checkpoint Service, etc.\ud The Amoeba Kernel can produce a representation of the state of a process which can be given to another Kernel where it is accepted for continued execution. This state consists of the memory contents in the form of a collection of segments, and a Process Descriptor which contains the additional state, program counters, stack pointers, system call state, etc.\ud Careful separation of mechanism and policy has resulted in a compact set of Kernel operations for process creation and management. A collection of user-space services provides process management policies and a simple interface for application programs.\ud In this paper we shall describe the mechanisms as they are being implemented in the Amoeba Distributed System at the Centre for Mathematics and Computer Science in Amsterdam. We believe that the mechanisms described here can also apply to other distributed systems

    Solving the Linda multiple rd problem using the copy-collect primitive

    Get PDF
    AbstractLinda is a mature co-ordination language that has been in use for several years. However, as a result of recent work on the model we have found a simple class of operation that is widely used in many different algorithms which the Linda model is unable to express in a viable fashion. An example algorithm which uses this operation is the composition of two binary relations. By examining how to implement this in parallel using Linda we demonstrate that the approaches possible using the current Linda primitives are unsatisfactory. This paper demonstrates how this “multiple rd problem” can be overcome by the addition of a primitive to the Linda model, copy-collect. This builds on previous work on another primitive called collect (Butcher et al., 1994). The parallel composition of two binary relations using the copy-collect primitive can be achieved with maximal parallelism

    Twill: A Hybrid Microcontroller-FPGA Framework for Parallelizing Single- Threaded C Programs

    Get PDF
    Increasingly System-On-A-Chip platforms which incorporate both micropro- cessors and re-programmable logic are being utilized across several fields ranging from the automotive industry to network infrastructure. Unfortunately, the de- velopment tools accompanying these products leave much to be desired, requiring knowledge of both traditional embedded systems languages like C and hardware description languages like Verilog. We propose to bridge this gap with Twill, a truly automatic hybrid compiler that can take advantage of the parallelism inherent in these platforms. Twill can extract long-running threads from single threaded C code and distribute these threads across the hardware and software domains to more fully utilize the asymmetric characteristics between processors and the embedded reconfigurable logic fabric. We show that Twill provides a sig- nificant performance increase on the CHStone benchmarks with an average 1.63 times increase over the pure hardware approach and an increase of 22.2 times on average over the pure software approach while reducing the area required by the reconfigurable logic by on average 1.73 times compared to the pure hardware approach

    Oblikovanje programskih jezika za događajima poticanu kompoziciju usluga

    Get PDF
    To adapt to rapidly changing market conditions and increase the return of investment, today’s IT solutions usually combine service-oriented architecture (SOA) and event-driven architecture (EDA) that support reusability, flexibility, and responsiveness of business processes. Programming languages for development of event-driven service compositions face several main challenges. First, a language should be based on standard service composition languages to be compatible with SOA-enabling technologies. Second, a language should enable seamless integration of services into event-driven workflows. Third, to overcome a knowledge divide, language should enable seamless cooperation between application developers with different skills and knowledge. Since WS-BPEL is widely accepted as standard executable language in SOA, we extended WS-BPEL with support for event-driven workflow coordination. We designed event-handling mechanisms as special-purpose Coopetition services and augmented WS-BPEL with primitives for their invocation. Coopetition services augment SOA with fundamental EDA characteristics: decoupled interactions, many-to-many communication, publish/subscribe messaging, event triggering, and asynchronous operations. To make the application development familiar to wide community of developers, we designed an application-level end-user language on top of WS-BPEL whose primitives for invocation of regular Web services and Coopetition services resemble the constructs of typical scripting and coordination language.S ciljem prilagodbe promjenjivim tržišnim uvjetima i povećanja isplativosti ulaganja, današnji informacijski sustavi grade se spregom uslužno usmjerene i događajima poticane arhitekture koje omogućuju oblikovanje višestruko iskoristivih i prilagodljivih poslovnih procesa s mogućnošću odziva na pojavu događaja. Programski jezici za događajima poticanu kompoziciju usluga pokazuju nekoliko glavnih značajki. Prvo, jezik mora naslijediti svojstva standardnih jezika za kompoziciju usluga kako bi bio sukladan tehnologijama uslužno-usmjerene arhitekture. Drugo, jezik mora omogućiti prirodni način povezivanja usluga u događajima poticane poslovne procese. Treće, razvijateljima različitih znanja i vještina potrebno je osigurati mogućnost udruženog sudjelovanja u razvoju primjenskih programa. Budući da je WS-BPEL standardni jezik za kompoziciju usluga, izabran je kao osnovica za oblikovanje jezika za događajima poticanu kompoziciju usluga. Oblikovan je poseban skup usluga suradnje i natjecanja kojima je uslužno-usmjerena arhitektura proširena elementima događajima poticane arhitekture, kao što su međudjelovanje zasnovano na slaboj povezivosti, komunikacija u grupi, objava/pretplata, reakcija na pojavu događaja i asinkrone operacije. Jezik WS-BPEL proširen je programskim primitivama za pozivanje tih usluga. Kako bi se razvoj primjenskih programa približio širokoj zajednici graditelja programske potpore, povrh jezika WS-BPEL oblikovan je primjenski jezik za krajnjeg korisnika čije primitive za pozivanje primjenskih usluga te usluga suradnje i natjecanja nalikuju naredbama skriptnih i koordinacijskih jezika
    corecore