In this paper, we report and analyze the behavior of Java and NET implementations of lock-free stack and queue in different settings. http://***/stamp/***?arnumber=4283864
ISBN:
(纸本)9789537138097
In this paper, we report and analyze the behavior of Java and NET implementations of lock-free stack and queue in different settings. http://***/stamp/***?arnumber=4283864
Data races hamper parallel programming and threaten the reliability of future software. This paper proposes the data race prevention scheme View-Oriented Data race Prevention (VODAP), which can prevent data races in t...
详细信息
Data races hamper parallel programming and threaten the reliability of future software. This paper proposes the data race prevention scheme View-Oriented Data race Prevention (VODAP), which can prevent data races in the View-Oriented Parallel programming (VOPP) model. VOPP is a novel shared-memory data-centric parallel programming model, which uses views to bundle mutual exclusion with data access. We have implemented the data race prevention scheme with a memory protection mechanism. Experimental results show that the extra overhead of memory protection is trivial in our applications. The performance is evaluated and compared with modern programming models such as OpenMP and Cilk.
Search, especially tree search, is fundamental to the field of artificial intelligence. Even with good heuristic functions, the time it takes on a single processor to solve progressively more difficult tree search pro...
详细信息
Search, especially tree search, is fundamental to the field of artificial intelligence. Even with good heuristic functions, the time it takes on a single processor to solve progressively more difficult tree search problems grows exponentially and quickly becomes constraining. It seems reasonable that the use of concurrency should significantly improve the speed of a tree search. After discussing concurrent programming issues as background, this thesis outlines some high-level approaches to concurrent tree search. Development of each high-level approach includes development of required operating system interfaces. With the warning that choosing the best approach requires empirical evaluation, a concurrent tree search algorithm for the eight- puzzle is presented.
Today, mobile applications use thousands of concurrent tasks to process multiple sensor inputs to ensure a better user experience. With this demand, the ability to manage these concurrent tasks efficiently and easily ...
详细信息
ISBN:
(纸本)9781450394451
Today, mobile applications use thousands of concurrent tasks to process multiple sensor inputs to ensure a better user experience. With this demand, the ability to manage these concurrent tasks efficiently and easily is becoming a new challenge, especially in their lifetimes. Structured concurrency is a technique that reduces the complexity of managing a large number of concurrent tasks. There have been several languages or libraries (e.g., Kotlin, Swift, and Trio) that support such a paradigm for better concurrency management. It is worth noting that structured concurrency has been consistently implemented on top of coroutines across all these languages and libraries. However, there are no documents or studies in the literature that indicate why and how coroutines are relevant to structured concurrency. In contrast, the mainstream community views structured concurrency as a successor to structured programming;that is, the concept of "structure" extends from ordinary programming to concurrent programming. Nevertheless, such a viewpoint does not explain, as the concept of structured concurrency came out more than 40 years later after structured programming was introduced in the early 1970s, whereas concurrent programming started in the 1960s. In this paper, we introduce a new theory to complement the origin of structured concurrency from historical and technical perspectives-it is the foundation established by coroutines that gives birth to structured concurrency.
Transactional memory (TM) provides a safer, more modular, and more scalable alternative to traditional lock-based synchronization. Implementing high performance TM systems has recently been an active area of research....
详细信息
ISBN:
(纸本)9781595939739
Transactional memory (TM) provides a safer, more modular, and more scalable alternative to traditional lock-based synchronization. Implementing high performance TM systems has recently been an active area of research. However, current TM systems provide limited, if any, support for transactions executing irrevocable actions, such as I/O and system calls, whose side effects cannot in general be rolled back. This severely limits the ability of these systems to run commercial workloads. This paper describes the design of a transactional memory system that allows irrevocable actions to be executed inside of transactions. While one transaction is executing an irrevocable action, other transactions can still execute and commit concurrently. We use a novel mechanism called singleowner read locks to implement irrevocable actions inside transactions that maximizes concurrency and avoids overhead when the mechanism is not used. We also show how irrevocable transactions can be leveraged for contention management to handle actions whose effects may be expensive to roll back. Finally, we present a thorough performance evaluation of the irrevocability mechanism for the different usage models.
Multi-threaded operating systems were introduced in the quest to reduce the overhead caused by task manipulation and synchronization. An example is the recently introduced Solaris 2.2 multi-threaded operating system. ...
详细信息
ISBN:
(纸本)0444818707
Multi-threaded operating systems were introduced in the quest to reduce the overhead caused by task manipulation and synchronization. An example is the recently introduced Solaris 2.2 multi-threaded operating system. In this paper, a parallel application in the domain of image reconstruction is presented for which a successful use of the multithreaded approach has led to an implementation with a nearly linear speedup.
In this paper, a parallel implementation of the TCP/IP protocol suite on the Parallel Protocol Engine (PPE), a multiprocessor-based communication subsystem, is described. The execution times of the various protocol fu...
详细信息
ISBN:
(纸本)0444814817
In this paper, a parallel implementation of the TCP/IP protocol suite on the Parallel Protocol Engine (PPE), a multiprocessor-based communication subsystem, is described. The execution times of the various protocol functions are used to analyze the system's performance in two scenarios. In the first scenario we execute the test application on the PPE;in the second we evaluate the potential performance of our TCP/IP implementation when it is driven by an application on the workstation. For the second scenario, the end-to-end performance of our implementation on a four-processor PPE system is more than 3300 TCP segments per second.
A modular proof system is presented for proving partial correctness and freedom from deadlock of concurrent programs using scripts (including recursive scripts). Its applications to augmentations of CSP and a subset o...
详细信息
暂无评论