What would you do with an XDK or XMP-64?

XCore Project reviews, ideas, videos and proposals.
User avatar
octal
XCore Addict
Posts: 228
Joined: Thu Jan 27, 2011 3:30 pm
Location: Argenteuil - France
Contact:

Post by octal »

Btw, I would also see as a very good application for an XMP-64 to create some kind of GRID for intensive processing.
I would have been very glad to have one (or multiple) unit(s) when I was working on my thesis on computer simulations in condensed matter physics. We were doing a lot of optimization using methods like molecular dynamics and Monte Carlo methods.

the XMP-64 could have been a very good choice to create a computing grid for highly parallelisable algorithms, like Monte Carlo simulations or (BETTER) Genetic Algorithms simulations of bulk or surface phenomenas.

In Genetic Algorithms:
With a single unit, and its 512 threads, we can give each a thread to calculate a configuration alone, and send back the result to the master (PC/MAC), this will make much quicker than having to calculate all that on a single sequential processor.
We can also for example use a second unit to calculate crossover (combination) operations,
a third unit can do mutations and various other operators calculations.

Calculation will be done in this order:
[Unit1 : calculation fitness func] -> [Unit2: Calculation CrossOver] -> [Unit3: calc of Mutations]

once Unit3 prepares new n-th generation it passes it again to Unit1, Unit2 receive the (n-2)-th series of parents, Unit3 receive (n-1)-th generation ...
the units can continue their optimization without any intervention from the master PC/MAC.

With such three units, we can have a full computing grid for optimization using Genetic Algorithms.

In Molecular Dynamics (classical):
We can create a crystal for example of 512 atom, and give each node the responsability of computing "its" atom interaction with its neighboors (other 511 atoms in the crystal).

By pluggin more and more units, we can augment the crystal size keeping calculation time almost the same (for the interactions calculation at least).

Molecular dynamics (at least classical one) programs does not need complex functions calculations (most classical potential functions and their derivatives are simple), and thus the little 64KB will be very sufficient. What need to be tested is the speed at wich each atom (thread) can ask its neighboors their properties (atomic positions)...

This kind of problems can be good candidate for exploration with such parallel computing grids I think !!!


androider
Member++
Posts: 24
Joined: Sat Sep 18, 2010 4:05 am
Contact:

Post by androider »

This is such a fun post. Here's another idea that I can talk about.

It would be great to see the Dalvik virtual machine ported to XMOS architecture. Dalvik, as you probably know, is the virtual machine that runs on Android devices.

Since I'm an Android engineer, I think I could tackle this one.

Can you imagine Android applications running on a 64 core machine?

Now that would be .... awesome!

Cheers,

Richard
androider
Member++
Posts: 24
Joined: Sat Sep 18, 2010 4:05 am
Contact:

Post by androider »

Oh -almost forgot.

I would port Linux ... has someone already done that?

Richard

androider wrote:This is such a fun post. Here's another idea that I can talk about.

It would be great to see the Dalvik virtual machine ported to XMOS architecture. Dalvik, as you probably know, is the virtual machine that runs on Android devices.

Since I'm an Android engineer, I think I could tackle this one.

Can you imagine Android applications running on a 64 core machine?

Now that would be .... awesome!

Cheers,

Richard
ale500
Respected Member
Posts: 259
Joined: Thu Sep 16, 2010 9:15 am

Post by ale500 »

Unless you emulate another CPU, running linux native doesn't seem possible.

It even runs on an AVR: http://dmitry.co/index.php?p=./04.Thoug ... 0on%208bit :). That 8MB SDRAM slice will be handy :)
Heater
Respected Member
Posts: 296
Joined: Thu Dec 10, 2009 10:33 pm

Post by Heater »

Good grief, I thought I was nuts when I started out writing an emulator for the Z80 to run CP/M on a Propeller MCU.
User avatar
franksanderdo
Experienced Member
Posts: 69
Joined: Sat Apr 30, 2011 6:19 pm

Post by franksanderdo »

Hi Heater,

why you think you are nuts?
Just imagine the options of a parallel processing CP/M ;-)

Even though I don't dare to doubt most of the actual "high speed high Memory" developments, I do very much doubt the condemnation of most of the old Ideas. Why the hack do I need in our days a fully featured IPC to run a simple traffic light?

To try every now and then some thing, others would call stupid, is the place of birth some some thing real inventive ;-) (I can't recall who said that, but I love it)

See you around
Frank
Heater
Respected Member
Posts: 296
Joined: Thu Dec 10, 2009 10:33 pm

Post by Heater »

franksanderdo,
Just imagine the options of a parallel processing CP/M ;-)
Haha, believe me I have. At least one of my collaborators got multi-user CP/M 3 up and running on the Propeller.
Why the hack do I need in our days a fully featured IPC to run a simple traffic light?
You would be surprised. There is no such thing as a simple traffic light. Once you throw in the need for networking, control user interface, etc etc. The later systems I have worked on switched over to Linux a few years ago. Current systems we are developing need a lot more processing power to dynamically optimise the signals.
User avatar
franksanderdo
Experienced Member
Posts: 69
Joined: Sat Apr 30, 2011 6:19 pm

Post by franksanderdo »

Hi Heater,

I am aware of the fact that modern traffic control is a bit more then a simple traffic light ;-)
The example I gave crossed my path some weeks ago were (and I am not kidding) a real simple traffic light on a 2 roads crossing, just timer based, was build into a IPC running Windows 7.
The Computer was with 250 GB HD, DVD, 4GB Ram Touchscreen build into the Cabinet right next to one of the light poles. All this in an environment were 45°C in the shade are average.

I got called in because the IPC several times per day did either reboot or got stuck.

When I asked the (pretty expensive) Inventor why he did not just use some timer relays or a smal embedded controller, he told me that this is according to standards and nobody on earth would use i.e. embedded controller because those don't have enough memory to carry a decent OS.

Honestly, I could not answer anything. I was simply stunned

See you around
Frank
Post Reply