BT

InfoQ Homepage Presentations Are You Ready for 1000-Way Parallelism on a Single Chip?

Are You Ready for 1000-Way Parallelism on a Single Chip?

Bookmarks
55:18

Summary

Andreas Olofsson reviews the history of processors and outlines some of the challenges ahead, introducing project Parallella meant to speed up the transition to massively parallel computing.

Bio

Andreas Olofsson (@adapteva) founded Adapteva in 2008. Prior to Adapteva, he was a key contributor to a number of successful products at Analog Devices, including the ground breaking TigerSHARC DSP architecture. The TigerSHARC was the first processor to enable software programmable 3G and WiMax base station platforms and was the most energy efficient floating point microprocessor at that time.

About the conference

Code Mesh London is an annual conference dedicated to non-mainstream languages and technologies. In 2013 it featured over 50 talks from experts in languages, libraries, operating systems and technologies that handle the programming and business challenges of today. Languages discussed include Haskell, Clojure, Erlang, Elixir, Rust, Go and Julia.

Recorded at:

Jul 03, 2014

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • massively logarithmic

    by Jeff Hain /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    "There is no question about the fact that massively parallel computing is the only way forward." (12m18)


    (/wishful on)

    A chip does not need to be either sequential or massively parallel, it could also be a tree-like structure (memory and CPU), each node with eventually some degree of parallelism.

    It seems to me that the world around and our software, as well as our networks, often have a tree-like structure (fractal or not): why not hardware?

    The chip could have the shape of a sphere, with top-level processor at center.
    I/O could be done at any level, but in practice inputs at low levels and outputs at high levels could be a common pattern.


    Programming could look something like this (using Java syntax):

    // Creates a thread running on (cores of) processor of current thread,
    // and located in corresponding RAM (as objects created from that thread).
    // Main thread would run on top-level processor.
    // That would make current Java code still usable.
    "new Thread(...)"

    // Numbers of cores available in the processor this thread runs on.
    "Thread.currentThread().availableCores()"

    // Numbers of processors that are child of the one this thread runs on.
    "Thread.currentThread().availableChildProcessors()"

    // Creates a thread running on (cores of) child processor
    // of specified index, in [0 .. availableChildProcessors-1].
    "Thread.currentThread().newChildThread(int childProcessorIndex)"

    Threads and objects of a processor could only interact (using references, seeing volatile writes, etc.) with threads and objects of parent and child processors, not of grandparents or grandchildren.

  • Questions towards the end of talk

    by steve bodwell /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Joe Armstrong asks a couple of questions and makes a comment towards the end of the talk. Another familiar voice in there, Viktor Klang maybe? Great talk! Wish I had heard of this early enough to get in on the Kickstarter campaign.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.