Skip to Content.
Sympa Menu

maude-help - Re: [[Maude-help] ] Software Optimization in Maude

maude-help AT lists.cs.illinois.edu

Subject: Maude-help mailing list

List archive

Re: [[Maude-help] ] Software Optimization in Maude


Chronological Thread 
  • From: "Francesoc Bongiovanni" <bongiovanni AT gmail.com>
  • To: maude-help AT lists.cs.illinois.edu,pschanely AT gmail.com
  • Subject: Re: [[Maude-help] ] Software Optimization in Maude
  • Date: Wed, 27 Apr 2016 01:19:15 -0500

Hi Phil,

I also play with Maude around higher order functions, for other purposes than
compiler optimization.

First of, here is a link you might have a look at :
https://github.com/ephoning/maude/blob/master/higher-order

have a look at the ho-func3.fm and ho-func-test3.fm files, I based with
current work on these implementations of map/reduce HO functions, they are
quite neat.

I had a look at your blog post, I think I got more or less what you are trying
to achieve but something struck me a bit. Generally, when one uses the Map/
Reduce programming model they tend not to put map inside a reduce and keep the
two `stages` clearly separated anyway, but a very good `optimization` for map/
reduce programs actually is to lift up functions in the reduce in the mapper
(that's what people did inside Apache Spark optimizations) and there is also a
nice research paper you might find interesting from SOSP'15 entitled
`Parallelizing user-defined aggregations using symbolic execution` from
Raychev et al. which promotes a new way to deal with loop-carried dependencies
using symbolic execution. I am pretty sure you will find them interesting :)

Have a look at proceeding of the CGO conference which you probably know (The
International Symposium on Code Generation and Optimization) there are a lot
of nice papers around what you want to do.

Something very related to maude is the K-framework (www.k-framework.org).
Prof. Grigore Rosu and University of Illinois and his group along with people
from Romania did some impressing work around term rewriting. Think of if as a
very nice tool to encode programming language semantics and develop formal-
based tools for creating languages, reasoning about programs, and so on...the
initial K tool had Maude as a back end (they are switching as we speak to get
more performance) and they have formalized the semantics of Java 1.4, almost
all C, verilog, scheme,...and LLVM IR (which may be of interest to you) .

Cheers,

- Francesco





Archive powered by MHonArc 2.6.16.

Top of Page