905 resultados para Parallel design patterns


Relevância:

100.00% 100.00%

Publicador:

Resumo:

Structured parallel programming is recognised as a viable and effective means of tackling parallel programming problems. Recently, a set of simple and powerful parallel building blocks RISC pb2l) has been proposed to support modelling and implementation of parallel frameworks. In this work we demonstrate how that same parallel building block set may be used to model both general purpose parallel programming abstractions, not usually listed in classical skeleton sets, and more specialized domain specific parallel patterns. We show how an implementation of RISC pb2 l can be realised via the FastFlow framework and present experimental evidence of the feasibility and efficiency of the approach.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

This paper describes the ParaPhrase project, a new 3-year targeted research project funded under EU Framework 7 Objective 3.4 (Computer Systems), starting in October 2011. ParaPhrase aims to follow a new approach to introducing parallelism using advanced refactoring techniques coupled with high-level parallel design patterns. The refactoring approach will use these design patterns to restructure programs defined as networks of software components into other forms that are more suited to parallel execution. The programmer will be aided by high-level cost information that will be integrated into the refactoring tools. The implementation of these patterns will then use a well-understood algorithmic skeleton approach to achieve good parallelism. A key ParaPhrase design goal is that parallel components are intended to match heterogeneous architectures, defined in terms of CPU/GPU combinations, for example. In order to achieve this, the ParaPhrase approach will map components at link time to the available hardware, and will then re-map them during program execution, taking account of multiple applications, changes in hardware resource availability, the desire to reduce communication costs etc. In this way, we aim to develop a new approach to programming that will be able to produce software that can adapt to dynamic changes in the system environment. Moreover, by using a strong component basis for parallelism, we can achieve potentially significant gains in terms of reducing sharing at a high level of abstraction, and so in reducing or even eliminating the costs that are usually associated with cache management, locking, and synchronisation. © 2013 Springer-Verlag Berlin Heidelberg.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

We propose a methodology for optimizing the execution of data parallel (sub-)tasks on CPU and GPU cores of the same heterogeneous architecture. The methodology is based on two main components: i) an analytical performance model for scheduling tasks among CPU and GPU cores, such that the global execution time of the overall data parallel pattern is optimized; and ii) an autonomic module which uses the analytical performance model to implement the data parallel computations in a completely autonomic way, requiring no programmer intervention to optimize the computation across CPU and GPU cores. The analytical performance model uses a small set of simple parameters to devise a partitioning-between CPU and GPU cores-of the tasks derived from structured data parallel patterns/algorithmic skeletons. The model takes into account both hardware related and application dependent parameters. It computes the percentage of tasks to be executed on CPU and GPU cores such that both kinds of cores are exploited and performance figures are optimized. The autonomic module, implemented in FastFlow, executes a generic map (reduce) data parallel pattern scheduling part of the tasks to the GPU and part to CPU cores so as to achieve optimal execution time. Experimental results on state-of-the-art CPU/GPU architectures are shown that assess both performance model properties and autonomic module effectiveness. © 2013 IEEE.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Intermediaries have introduced electronic services with varying success. One of the problems an intermediary faces is deciding what kind of exchange service it should offer to its customers and suppliers. For example, should it only provide a catalogue or should it also enable customers to order products? Developing the right exchange design is a complex undertaking because of the many design options on the one hand and the interests of multiple actors to be considered on the other. This is far more difficult than simple prescriptions like ‘creating a win-win situation’ suggest. We address this problem by developing design patterns for the exchanges between customers, intermediary, and suppliers related to role, linkage, transparency, and ovelty choices. For developing these design patterns, we studied four distinct electronic intermediaries and dentified exchange design choices that require trade-offs relating to the interests of customers, intermediary, and suppliers. The exchange design patterns contribute to the development of design theory for electronic intermediaries by filling a gap between basic business models and detailed business process designs.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Urban agriculture is practiced in many forms within urban spaces, ranging from large organised community gardens to individuals with a backyard or balcony. We present the synthesis of findings from three studies exploring different types of urban agriculture: city farms, residential gardeners, and a grassroots group that supports local communities. Where the findings of individual studies are used to justify a design approach, there are often difficulties encountered because of different context of the original study. Through our understanding and synthesis of multiple studies, we propose a set of design patterns. The proposed patterns can be utilised concurrently depending on the scale and context of both the physical garden, and community. The relationships between the patterns and their concurrent use are discussed, and the resulting links provided the foundation for a pattern language. The eight initial patterns provide a foundation on which we would encourage other researchers to contribute, in order to develop a pattern language to holistically consider urban agriculture beyond the scope of our experiences in Brisbane, and to enrich the patterns with a variety of gardening practices.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

The Design Patterns book [GOF95] presents 24 time-tested patterns that consistently appear in well-designed software systems. Each pattern is presented with a description of the design problem the pattern addresses, as well as sample implementation code and design considerations. This paper explores how the patterns from the "Gang of Four'', or "GOF'' book, as it is often called, appear when similar problems are addressed using a dynamic, higher-order, object-oriented programming language. Some of the patterns disappear -- that is, they are supported directly by language features, some patterns are simpler or have a different focus, and some are essentially unchanged.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

We introduce a new parallel pattern derived from a specific application domain and show how it turns out to have application beyond its domain of origin. The pool evolution pattern models the parallel evolution of a population subject to mutations and evolving in such a way that a given fitness function is optimized. The pattern has been demonstrated to be suitable for capturing and modeling the parallel patterns underpinning various evolutionary algorithms, as well as other parallel patterns typical of symbolic computation. In this paper we introduce the pattern, we discuss its implementation on modern multi/many core architectures and finally present experimental results obtained with FastFlow and Erlang implementations to assess its feasibility and scalability.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal

Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Design patterns are a way of sharing evidence-based solutions to educational design problems. The design patterns presented in this paper were produced through a series of workshops, which aimed to identify Massive Open Online Course (MOOC) design principles from workshop participants’ experiences of designing, teaching and learning on these courses. MOOCs present a challenge for the existing pedagogy of online learning, particularly as it relates to promoting peer interaction and discussion. MOOC cohort sizes, participation patterns and diversity of learners mean that discussions can remain superficial, become difficult to navigate, or never develop beyond isolated posts. In addition, MOOC platforms may not provide sufficient tools to support moderation. This paper draws on four case studies of designing and teaching on a range of MOOCs presenting seven design narratives relating to the experience in these MOOCs. Evidence presented in the narratives is abstracted in the form of three design patterns created through a collaborative process using techniques similar to those used in collective autoethnography. The patterns: “Special Interest Discussions”, “Celebrity Touch” and “Look and Engage”, draw together shared lessons and present possible solutions to the problem of creating, managing and facilitating meaningful discussion in MOOCs through the careful use of staged learning activities and facilitation strategies.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

VALENTIM, R. A. M. ; SOUZA NETO, Plácido Antônio de. O impacto da utilização de design patterns nas métricas e estimativas de projetos de software: a utilização de padrões tem alguma influência nas estimativas?. Revista da FARN, Natal, v. 4, p. 63-74, 2006