A real-time kernel which supports concurrent programming in Pascal is described. It implements semaphores for mutual exclusion and events for other synchronization. The kernel also offers the possibility to program I/...
详细信息
A real-time kernel which supports concurrent programming in Pascal is described. It implements semaphores for mutual exclusion and events for other synchronization. The kernel also offers the possibility to program I/O handlers. The kernel is written in Pascal, but relies on a small number of assembly written procedures for process creation, transfer between processes and handling of interrupts. The approach shows what has to be added to get concurrency in a sequential language and is therefore suitable for education.
Modern computing is a path of violations and transformations coming from an intrinsically concurrent application domain into a sequence of instructions and then back to concurrency with OpenMP, MPI and CUDA/OpenCL. Wh...
详细信息
Modern computing is a path of violations and transformations coming from an intrinsically concurrent application domain into a sequence of instructions and then back to concurrency with OpenMP, MPI and CUDA/OpenCL. Why we create so many difficulties? Sleptsov Net Computing (SNC) maps a task into an appropriate computing structure implemented as a re-configurable multidimensional sparse matrix of computing memory. It has entirely graphical mass parallel language for concurrent programming and a framework of techniques for concurrent program verification to develop reliable software. Estimated efficiency of SNC is higher than 50% compared to actual less that 1% efficiency of the most powerful supercomputers. It yields hyper-performance capable of efficient control of hyper-sonic objects, colliders, thermonuclear reaction. This paper presents an open source prototype VM and IDE for SNC with a view on upcoming hardware implementation of the corresponding computer.
As an exercise in synchronization without mutual exclusion, algorithms are developed to implement both a monotonic and a cyclic multiple-word clock that is updated by one process and read by one or more other processes.
As an exercise in synchronization without mutual exclusion, algorithms are developed to implement both a monotonic and a cyclic multiple-word clock that is updated by one process and read by one or more other processes.
This paper introduces CSMV (Client Server Multiversioned), a multi-versioned Software TM (STM) for GPUs that adopts an innovative client-server design. By decoupling the execution of transactions from their commit pro...
详细信息
This paper introduces CSMV (Client Server Multiversioned), a multi-versioned Software TM (STM) for GPUs that adopts an innovative client-server design. By decoupling the execution of transactions from their commit process, CSMV provides two main benefits: (i) it enables the use of fast on chip memory to access the global metadata used to synchronize transaction (ii) it allows for implementing highly efficient collaborative commit procedures, tailored to take full advantage of the architectural characteristics of GPUs. Via an extensive experimental study, we show that CSMV achieves up to 3 orders of magnitude speed-ups with respect to state of the art STMs for GPUs and that it can accelerate by up to 20x irregular applications running on state of the art STMs for CPUs. & COPY;2023 Elsevier Inc. All rights reserved.
Many small communities in the world still use telephone switching systems based on old step-by-step technologies. Given the capital already invested, it may be economically unattractive to replace them in the near fut...
详细信息
Many small communities in the world still use telephone switching systems based on old step-by-step technologies. Given the capital already invested, it may be economically unattractive to replace them in the near future. The equipment described here makes it possible to implement Long Distance Dialing and a number of services with this kind of switching systems, providing an inexpensive alternative for prolonging their useful life. Its development required the design of a specialized bus and a methodology for concurrent programming with sequential FORTRAN.
This paper focuses on software implementation issues related to rapid design and prototyping of distributed systems that integrate the methods and techniques of computational intelligence, such as genetic search, neur...
详细信息
This paper focuses on software implementation issues related to rapid design and prototyping of distributed systems that integrate the methods and techniques of computational intelligence, such as genetic search, neural networks, and fuzzy logic, with symbolic and algorithmic processing. In order to dynamically assign computational processes to the resources of a distributed computing system, a process algebraic approach is proposed that is based on MAPA (Multi-Action Process Algebra), with special emphasis placed on process synchronization problems.
Recent advances in hardware technology have made it economically feasible to construct micro computer controlled subsystems and to connect them to distributed real-time control systems. However it is difficult to inte...
详细信息
Recent advances in hardware technology have made it economically feasible to construct micro computer controlled subsystems and to connect them to distributed real-time control systems. However it is difficult to integrate and develop the potential of subsystems without understanding or changing the existing systems. In this paper, we will introduce a new language concept and a management method to overcome the difficulties. Firstly, a concurrent programming concept, the guarding process (GP), is introduced. In the concept a program consists only of modules, each of which defines objects and servers. Using the concept, programs are described in a structured manner allowing the modules to detect incorrect sequences of interactions. Secondly, a management method that guarantees timing and response to modules, the deadline monitor (DM), is introduced. Servers may be specified with requirements of timing and response. DM fills these requirements and monitors servers' behavior. Finally, in order to deal with the exceptions raised by GP and DM, the exception handler is introduced. In the testing phase, GP reports to the handler why the algorithm is wrong nd how to use the module. The concepts are presented in a programming language and augmented by the implementation of a distributed robot system.
JR's concurrent invocation statement (CoStmt, for short) provides a form of collective communication. The thread executing a CoStmt can gather results from each of many invocations. This paper presents a problem t...
详细信息
JR's concurrent invocation statement (CoStmt, for short) provides a form of collective communication. The thread executing a CoStmt can gather results from each of many invocations. This paper presents a problem that arises in using Java List structures in gathering such results. It presents incorrect and correct attempts at solutions and discusses the tradeoffs, including performance, among the correct solutions.
Presents an optimal algorithm model for mutual exclusion in computer networks. Use of the computer algorithm for sending messages; Number of messages send per algorithm; Use of Lamport's 'bakery algorithm'...
详细信息
Presents an optimal algorithm model for mutual exclusion in computer networks. Use of the computer algorithm for sending messages; Number of messages send per algorithm; Use of Lamport's 'bakery algorithm' unbounded sequence numbers to provide priorities into the critical section.
暂无评论