Toward an architectural pattern language for multi - threading
نویسنده
چکیده
A design pattern is a grouping of a small number of objects that is likely to be useful again and again. In multi-threaded software, it is a grouping of active and passive objects. A pattern language is a system of patterns organized in a structure that guides their application. This paper proposes a pattern language intended to capture the best practices in the architectural design of multi-threaded software. The language consists of a number of well-known patterns and is intended to be sufficient for a class of applications. It enforces a restrictive use of threads and an intuitive architecture based on concurrency in the problem domain.
منابع مشابه
Concurrent Programming Constructs and First-Class Logic Engines
Multi-threading has been adopted in today’s Prolog implementations as it became widely available in implementation languages like C or Java. An advantage of multi-threading over more declarative concurrency models like various AND-parallel and OR-parallel execution schemes, is that it maps to the underlying hardware directly: on typical multi-core machines threads and processes are mapped to di...
متن کاملCoordination and Concurrency in Multi-engine Prolog
We discuss the impact of the separation of logic engines (independent logic processing units) and multi-threading on the design of coordination mechanisms for a Prolog based agent infrastructure. We advocate a combination of coroutining constructs with focus on expressiveness and a simplified, multi-threading API that ensures optimal use available parallelism. In this context, native multi-thre...
متن کاملA First-Order Analysis of Power Overheads of Redundant Multi-Threading
Redundant multi-threading (RMT) has been proposed as an architectural approach that efficiently detects and recovers from soft errors. RMT can impose non-trivial overheads in terms of power consumption. In this paper, we characterize some of the major factors that influence the power consumed by RMT. We outline mechanisms that can reduce this power and derive simple analytical estimates to iden...
متن کاملPre-Silicon Validation of Hyper-Threading Technology
Hyper-Threading Technology delivers significantly improved architectural performance at a lower-thantraditional power consumption and die size cost. However, increased logic complexity is one of the trade-offs of this technology. Hyper-Threading Technology exponentially increases the micro-architectural state space, decreases validation controllability, and creates a number of new and interesti...
متن کاملFactorising Temporal Specifications
This paper proposes a method to factorise the verification of temporal properties for multi-threaded programs over groups of different threads. Essentially, the method boils down to showing that there exists a group of threads that establishes the property of interest, while the remaining threads do not affect it. We fine-tune the method by identifying for each property particular conditions un...
متن کامل