52 research outputs found

    The Problem of Mutual Exclusion: A New Distributed Solution

    Get PDF
    In both centralized and distributed systems, processes cooperate and compete with each other to access the system resources. Some of these resources must be used exclusively. It is then required that only one process access the shared resource at a given time. This is referred to as the problem of mutual exclusion. Several synchronization mechanisms have been proposed to solve this problem. In this thesis, an effort has been made to compile most of the existing mutual exclusion solutions for both shared memory and message-passing based systems. A new distributed algorithm, which uses a dynamic information structure, is presented to solve the problem of mutual exclusion. It is proved to be free from both deadlock and starvation. This solution is shown to be economical in terms of the number of message exchanges required per critical section execution. Procedures for recovery from both site and link failures are also given

    Formal verification of concurrent programs

    Get PDF
    Interactive theorem proving provides a general approach to modeling and verification of both finite-state and infinite-state systems but requires significant human efforts to deal with many tedious proofs. On the other hand, model-checking is limited to some application domain with small finite-state space. A natural thought for this problem is to integrate these two approaches. To keep the consistency of the integration and ensure the correctness of verification, we suggest to use type theory based theorem provers (e.g. Lego) as the platform for the integration and build a model-checker to do parts of the verification automatically. We formalise a verification system of both CCS and an imperative language in the proof development system Lego which can be used to verify both finite-state and infinite-state problems. Then a model-checker, LegoMC, is implemented to generate Lego proof terras for finite-state problems automatically. Therefore people can use Lego to verify a general problem with some of its finite sub-problems verified by LegoMC. On the other hand, this integration extends the power of model-checking to verify more complicated and infinite-state models as well. The development of automatic techniques and the integration of different reasoning methods would directly benefit the verification community. It is expected that further extension and development of this verification environment would be able to handle real life systems. On the other hand, the research gives us some experiences about how to automate proofs in interactive theorem provers and therefore will improve the usability and applicability of the theorem proving technology

    Some aspects of the efficient use of multiprocessor control systems

    Get PDF
    Computer technology, particularly at the circuit level, is fast approaching its physical limitations. As future needs for greater power from computing systems grows, increases in circuit switching speed (and thus instruction speed) will be unable to match these requirements. Greater power can also be obtained by incorporating several processing units into a single system. This ability to increase the performance of a system by the addition of processing units is one of the major advantages of multiprocessor systems. Four major characteristics of multiprocessor systems have been identified (28) which demonstrate their advantage. These are:- Throughput Flexibility Availability Reliability The additional throughput obtained from a multiprocessor has been mentioned above.. This increase in the power of the system can be obtained in a modular fashion with extra processors being added as greater processing needs arise. The addition of extra processors also has (in general) the desirable advantage of giving a smoother cost - performance curve ( 63). Flexibility is obtained from the increased ability to construct a system matching the user 'requirements at a given time without placing restrictions upon future expansion. With multiprocessor systems; the potential also exists of making greater use of the resources within the system. Availability and reliability are inter-related. Increased availability is achieved, in a well designed system, by ensuring that processing capabilities can be provided to the user even if one (or more) of the processing units has failed. The service provided, however, will probably be degraded due to the reduction in processing capacity. Increased reliability is obtained by the ability of the processing units to compensate for the failure of one of their number. This recovery may involve complex software checks and a consequent decrease in available power even when all the units are functioning

    Comparing Mutual Exclusion Algorithms

    Get PDF
    U višedretvenom načinu rada sve dretve koje djeluju unutar istog procesa dijele sva sredstva koje je operacijski sustav stavio na raspolaganje tom procesu. Prilikom pristupa nekom zajedničkom resursu važno je sinkronizirati dretve na način da u svakom trenutku samo jedna dretva ima pravo pristupa. Mehanizmi međusobnoga isključivanja osiguravaju dretvama naizmjeničan pristup dijeljenom resursu. U radu su opisani i implementirani neki od najpoznatijih algoritamskih rješenja problema međusobnoga isključivanja. Najveći nedostatak ovakvih rješenja je radno čekanje. Dretve koje čekaju na ulazak u kritični odsječak će neprestano ispitivati varijablu dok ona ne promijeni svoju vrijednost čime se troši vrijeme i resursi procesora. Umjesto njih, postoje ugradbeni mehanizmi koji rješavaju problem radnog čekanja i značajno smanjuju iskorištenost procesora čime ubrzavaju izvođenje operacijskog sustava. U ovome radu sam opisao neke od razreda i knjižnica pomoću kojih se u programskom jeziku C++ može na jednostavan način kontrolirati pristup nekom dijeljenom resursu. Provedena je usporedba brzine rada algoritama i ugradbenih mehanizama ovisno o operacijskom sustavu na kojem se izvode

    Comparing Mutual Exclusion Algorithms

    Get PDF
    U višedretvenom načinu rada sve dretve koje djeluju unutar istog procesa dijele sva sredstva koje je operacijski sustav stavio na raspolaganje tom procesu. Prilikom pristupa nekom zajedničkom resursu važno je sinkronizirati dretve na način da u svakom trenutku samo jedna dretva ima pravo pristupa. Mehanizmi međusobnoga isključivanja osiguravaju dretvama naizmjeničan pristup dijeljenom resursu. U radu su opisani i implementirani neki od najpoznatijih algoritamskih rješenja problema međusobnoga isključivanja. Najveći nedostatak ovakvih rješenja je radno čekanje. Dretve koje čekaju na ulazak u kritični odsječak će neprestano ispitivati varijablu dok ona ne promijeni svoju vrijednost čime se troši vrijeme i resursi procesora. Umjesto njih, postoje ugradbeni mehanizmi koji rješavaju problem radnog čekanja i značajno smanjuju iskorištenost procesora čime ubrzavaju izvođenje operacijskog sustava. U ovome radu sam opisao neke od razreda i knjižnica pomoću kojih se u programskom jeziku C++ može na jednostavan način kontrolirati pristup nekom dijeljenom resursu. Provedena je usporedba brzine rada algoritama i ugradbenih mehanizama ovisno o operacijskom sustavu na kojem se izvode

    A task communication language and compiler for the NuMesh

    Get PDF
    Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1994.Includes bibliographical references (leaves 71-72).by Jason Steven Cornez.M.Eng

    Measuring concurrency in CCS

    Get PDF
    A research report submitted to the Faculty of Science, University of the Witwatersrand, Johannesburg, in partial fulfilment of the requirements for the degree of Master of ScienceThis research report investigates the application of Charron-Bost's measure of currency m to Milner's Calculus of Communicating Systems (CCS). The aim of this is twofold: first to evaluate the measure m in terms of criteria gathered from the literature: and second to determine the feasiblllty of measuring concurrency in CCS and hence provide a new tool for understanding concurrency using CCS. The approach taken is to identify the differences hetween the message-passing formalism in which the measure m is defined, and CCS and to modify this formalism to-enable the mapping of CCS agents to it. A software tool, the Concurrency Measurement Tool, is developed to permit experimentation with chosen CCS agents. These experiments show that the measure m, although intuitively appealing, is defined by an algebraic expression that is ill-behaved. A new measure is defined and it is shown that it matches the evaluation criteria better than m, although it is still not ideal. This work demonstrates that it is feasible to measure concurrency in CCS and that a methodology has been developed for evaluating concurrency measures.Andrew Chakane 201
    corecore