Algorithm + Strategy = Parallelism

نویسنده

  • P W TRINDER
چکیده

The process of writing large parallel programs is complicated by the need to specify both the parallel behaviour of the program and the algorithm that is to be used to compute its result This paper introduces evaluation strategies lazy higher order functions that control the parallel evaluation of non strict functional languages Using evaluation strategies it is possible to achieve a clean separation between algorithmic and behavioural code The result is enhanced clarity and shorter parallel programs Evaluation strategies are a very general concept this paper shows how they can be used to model a wide range of commonly used programming paradigms including divide and conquer pipeline parallelism producer consumer parallelism and data oriented par allelism Because they are based on unrestricted higher order functions they can also capture irregular parallel structures Evaluation strategies are not just of theoretical interest they have evolved out of our experience in parallelising several large scale parallel applications where they have proved invaluable in helping to manage the complexities of parallel behaviour These applications are described in detail here The largest application we have studied to date Lolita is a line natural language parser Initial results show that for these programs we can achieve acceptable parallel performance while incurring minimal overhead for using evaluation strategies Writing Parallel Programs While it is hard to write good sequential programs it can be considerably harder to write good parallel ones At Glasgow we have worked on several fairly large parallel programming projects and have slowly and sometimes painfully developed a methodology for parallelising sequential programs The essence of the problem facing the parallel programmer is that in addition to specifying what value the program should compute explicitly parallel programs y This work is supported by the UK EPSRC Engineering and Physical Science Research Council AQUA and Parade grants

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Exploiting Training Example Parallelism with a Batch Variant of the Art 2 Classification Algorithm

In this article we develop a batch variant of the ART 2 classification algorithm invented by Carpenter and Grossberg. Our algorithm exploits training example parallelism while leaving the overall design of the ART 2 network unchanged such that a significant reduction of the execution time can be achieved on a multiprocessor system. We present a parallel implementation strategy and analyze it w....

متن کامل

Generalized Quantum Search with Parallelism

We generalize Grover’s unstructured quantum search algorithm to enable it to use an arbitrary starting superposition and an arbitrary unitary matrix simultaneously. We derive an exact formula for the probability of the generalized Grover’s algorithm succeeding after n iterations. We show that the fully generalized formula reduces to the special cases considered by previous authors. We then use ...

متن کامل

An Effective Data Placement Strategy for XML Documents

As XML is increasingly being used in Web applications, new technologies need to be investigated for processing XML documents with high performance. Parallelism is a promising solution for structured document processing and data placement is a major factor for system performance improvement in parallel processing. This paper describes an effective XML document data placement strategy. The new st...

متن کامل

Integrated Model, Batch and Domain Parallelism in Training Neural Networks

We propose a new integrated method of exploiting both model and data parallelism for the training of deep neural networks (DNNs) on large distributed-memory computers using minibatch stochastic gradient descent (SGD). Our goal is to find an efficient parallelization strategy for a fixed batch size using P processes. Our method is inspired by the communication-avoiding algorithms in numerical li...

متن کامل

Processor Allocation for Optimistic Parallelization of Irregular Programs

Optimistic parallelization is a promising approach for the parallelization of irregular algorithms: potentially interfering tasks are launched dynamically, and the runtime system detects conflicts between concurrent activities, aborting and rolling back conflicting tasks. However, parallelism in irregular algorithms is very complex. In a regular algorithm like dense matrix multiplication, the a...

متن کامل

Fast Signature Segmentation on a Multi-DSP Architecture

This paper describes the use of an embedded multiprocessor to speed up the computer vision tasks of an autonomous mobile robot. A brief overview over the robot’s vision system is given, identifying a signature segmentation algorithm as the most runtime-consuming task. A parallelization strategy for the segmentation algorithm is presented, based on the exploitation of data-parallelism. The paral...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012