An Algebraic Framework for Parallelizing Recurrence in Functional Programming

نویسندگان

  • Rodrigo C. O. Rocha
  • Luís Fabrício Wanderley Góes
  • Fernando Magno Quintão Pereira
چکیده

The main challenge faced by automatic parallelization tools in functional languages is the fact that parallelism is often hidden under the syntax of complex recursive functions. In this paper, we propose an algebraic framework for parallelizing – automatically – two special classes of recursive functions. We show that these classes are comprehensive enough to include several well-known instances. We have used our ideas to implement a source-to-source compiler in Python to parallelize Haskell code. We have applied this prototype onto six different recursive functions, achieving, on a 4-core machine, speedups of up to 2.7x.

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

ثبت نام

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

منابع مشابه

A Unified Symbolic Evaluation Framework for Parallelizing Compilers

The quality of many optimizations and analyses of parallelizing compilers depends signiicantly on the ability to evaluate symbolic expressions and on the amount of information available about program variables at arbitrary program points. In this paper, we describe an eeective and uniied symbolic evaluation framework that statically determines the values of variables and symbolic expressions, a...

متن کامل

Measuring the Effectiveness of Partial Evaluation in Functional Logic Languages

We introduce a framework for assessing the effectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic program. Consequently, our assessment is independent of any specific language implementation or computing environment. We define several criteria for measuring the cost of a computation: number of ...

متن کامل

Measuring the E ectiveness of PartialEvaluation in Functional Logic

We introduce a framework for assessing the eeectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic program. Consequently, our assessment is independent of any speciic language implementation or computing environment. We deene several criteria for measuring the cost of a computation: number of ste...

متن کامل

A Formal Approach to Reasoning about theE ectiveness of Partial

We introduce a framework for assessing the eeectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic program. Consequently, our assessment is independent of any speciic language implementation or computing environment. We deene several criteria for measuring the cost of a computation: number of ste...

متن کامل

Measuring the Effectiveness of Partial Evaluation

We introduce a framework for assessing the effectiveness of partial evaluators for functional logic programs. Our framework is based on properties of the rewrite system that models a functional logic program and, consequently, our assessment is independent of any specific language implementation or computing environment. We define several criteria for measuring the cost of a computation: number...

متن کامل

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


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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2016