Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment Re:Multi-core? (Score 1) 233

Actually Fortress has probably more mechanisms to support high-performance, programmer-controllable parallel computation than any other current language. Unfortunately they haven't published any good papers about the details yet, but slides 21 and thereafter of this Guy Steele lecture http://research.sun.com/projects/plrg/GSPx-Lecture 2006public.pdf make it very clear that Fortress does at least the following:

- Provide an abstract definition of data structures.
- Define reductions and computations over those data structures in an abstract manner.
- Allow specification of concrete mappings to particular processor and network topologies, such that those computations can be efficiently scaled to the local system.

In some ways it reminds me of Google's MapReduce system, but applied at the language level, in a way that allows library authors to create their own data structures and computational mappings in a fully extensible way. Super cool stuff, not only groundbreaking in the computer language world, but also potentially revolutionary in the scientific computing world.

And so what if their interpreter is written in Java? That's like writing off Java because the very first Java engines were bytecode interpreters! You walk before you run, and you interpret before you compile, when building up a new language from absolute scratch.

Also, they put a lot of emphasis on interoperability with Java, so there should be no problem using existing Java codebases to build UIs, etc. for Fortress apps.

Here's the actual summary from the Steele presentation:

- Regions describe machine resources.
- Distributions map aggregates onto regions.
- Aggregates used as generators drive parallelism.
- Algebraic properties drive implementation strategies.
- Algebraic properties are described by traits.
- Properties are verified by automated unit testing.
- Traits allow sharing of code, properties, and test data.
- Reducers and generators negotiate through overloaded method dispatch keyed by traits to achieve mix-and-match parallel code selection.

Slashdot Top Deals

Great spirits have always encountered violent opposition from mediocre minds. -- Albert Einstein

Working...