Ticket #1110 (closed proposed-project: wontfix)

Opened 6 years ago

Last modified 3 years ago

multi-threading for the Cell processor

Reported by: malcolm.wallace@… Owned by: none
Priority: bad Keywords:
Cc: None Topic: Systems
Difficulty: 1 person Summer Mentor: not-accepted

Description (last modified by mcatasta) (diff)

IBM's Cell processor architecture consists of a PowerPC processing unit plus eight secondary processing units on the same chip. Each secondary processor has its own separately-addressable on-chip memory, as well as access to main memory through DMA. The secondary processors are connected together with a common bus that is designed for high data throughput.

The hardware architecture immediately suggests a couple of nice possible mappings from Haskell. One idea is that each processor could run a separate function in a composition pipeline, with the compositions themselves being represented simply by communication along the main bus.

Another idea is to allocate explicit concurrent threads amongst the processors, so they run asynchronously apart from communication through MVars. The tricky things here are that (a) the secondary processors have a different instruction set from the main processor, and (b) they have very fast non-shared memory, so separate heaps might be sensible.

Interested mentors

  • Malcolm Wallace (@ cs.york.ac.uk)

Interested students

  • Michele Catasta <mcatasta@…>

Change History

Changed 6 years ago by malcolm.wallace@…

  • description modified (diff)

Changed 6 years ago by mcatasta

  • description modified (diff)

Changed 5 years ago by nominolo

  • priority set to bad

I'd say it's too large for GSoC. Also note that there is "Coconut", a DSLw hich supposedly is part of IBM's Cell tools now. For many dense-matrix problems it can reach peak-performance, and on average is 4x faster than hand-optimised C-code. See the video:  http://www.youtube.com/watch?v=yHd0u6zuWdw

Changed 5 years ago by nominolo

a *Haskell* DSL

Changed 3 years ago by dons

  • status changed from new to closed
  • resolution set to wontfix

Too old.

Note: See TracTickets for help on using tickets.