In order to increase the overall performance of distributed parallel programs running in a network of non-dedicated workstations, we have researched methods for improving load balancing in loosely coupled heterogeneou...
详细信息
In order to increase the overall performance of distributed parallel programs running in a network of non-dedicated workstations, we have researched methods for improving load balancing in loosely coupled heterogeneous distributed systems. Current software designed to handle distributed applications does not focus on the problem of forecasting the computers future load. The software only dispatches the tasks assigning them either to an idle CPU (in dedicated networks) or to the lowest loaded one (in non-dedicated networks). Our approach tries to improve the standard dispatching strategies provided by both parallel languages and libraries, by implementing new dispatching criteria. It will choose the most suitable computer after forecasting the load of the individual machines based on current and historical data. Existing applications could take advantage of this new service with no extra changes but a recompilation. A fair comparison between different dispatching algorithms could only be done if they run over the same external network load conditions. In order to do so, a tool to arbitrarily replicate historical observations of load parameters while running the different strategies was developed. In this environment, the new algorithms are being tested and compared to verify the improvement over the dispatching strategy already available. The overall performance of the system was tested with in-house developed numerical models. The project reported here is connected with other efforts at CeCal devoted to make it easier for scientists and developers to gain advantage of parallel computing techniques using low cost components.
Usability is an important feature for programming languages, and user evaluations can provide invaluable feedback on language design. However, user studies which compare programming languages or systems are often very...
详细信息
Recent advances in hardware architectures, particularly multicore and manycore systems, implicitly require programmers to write concurrent programs. However, writing correct and efficient concurrent programs is challe...
详细信息
ISBN:
(纸本)9781450332088
Recent advances in hardware architectures, particularly multicore and manycore systems, implicitly require programmers to write concurrent programs. However, writing correct and efficient concurrent programs is challenging. We envision a system where the concurrent programs can be self-adaptive when executing on different hardware. We have developed two different tuning policies, which enable users' programs to adjust their level of concurrency at compiletime and run-time respectively. Copyright is held by the owner/author(s).
The programming process for modern parallel processors including multi-core CPUs and many-core GPUs (Graphics Processing Units) represents a significant challenge for application developers. We propose to use the wide...
详细信息
Task-parallel programming is a methodology in which algorithms are specified as a set of tasks to be executed, and the dependencies between them. A scheduler can then automatically determine the correct execution orde...
详细信息
ISBN:
(纸本)9781450305242
Task-parallel programming is a methodology in which algorithms are specified as a set of tasks to be executed, and the dependencies between them. A scheduler can then automatically determine the correct execution order and extract parallelism. Task programming is well-known to be a very effective way to leverage parallel hardware (and is gaining popularity among game developers [Lavaire and Quenin 2010]), however there is significant programming overhead associated with maintaining a program in this form.
This paper proposes a new portable parallel programming interface MpC, Meta process C, for Meta Process Model. The Meta Process Model is a parallel programming padadigm based on a hierarchical shared memory model and ...
详细信息
Multiprocessors are now commonplace, and cloud computing is swiftly following suit. While it is possible to write high performance code for these systems, concurrency bugs are extremely common and theoretical performa...
详细信息
ISBN:
(纸本)9781450304276
Multiprocessors are now commonplace, and cloud computing is swiftly following suit. While it is possible to write high performance code for these systems, concurrency bugs are extremely common and theoretical performance is often difficult to realize. In order to take advantage of increasing numbers of parallel resources, numerous parallel programming systems have been proposed and deployed, usually without a systematic evaluation of their usability. In order to make both programmers and their parallel applications more effective, we need more useful metrics for measuring programmer productivity and a better way to evaluate such metrics. We posit that usability is a key factor in the effectiveness of a parallel programming system, and that theoretical performance gains can only be realized if programmers are able to successfully reason about their parallel code. Copyright 2010 ACM.
In this research, we compare the computational productivity of several different popular approaches and libraries for parallel computing, both CPU-based and GPU-based. As a model benchmarking task, the Computational F...
详细信息
parallel programming is more complex than sequential programming. It is therefore more difficult to achieve the same software quality in a parallel context. High-level parallel programming approaches are intermediate ...
详细信息
To ease the task of programmingparallel and distributed applications, the Do/project aims at the automatic generation of distributed code from multi-threaded Java programs. We provide a parallel programming model, em...
详细信息
暂无评论