Re: Distributed microcontroller computing
- From: "Alvin Andries" <Alvin_Andries.no_spam@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 13 Oct 2005 22:53:32 +0200
<kha59@xxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:1129236114.809356.221740@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> I've got a pure math problem implemented in C that will take about 3
> years to solve using all 5pcs available to me (the algorithm is about
> as efficient as it will get without some major mathematical insights).
>
> The funny thing about this problem is that I can easily split it into
> smaller problems each of which only requires about 1000 bytes of memory
> and only uses bitwise operations and additions mod 256.
>
> I was considering the possibility of creating a network of
> microcontrollers, probably using I2C, with one main processor dishing
> out smaller sub problems and reporting results back to a PC. To date I
> have only used Microchip PICs, primarily the 18f4550 and done my
> programming in MPLAB ASM. I think I could easily implement this setup
> using these chips but they are too slow (40MHz about 20Mips I think).
>
> I have heard that there are some high speed microcontrollers out there,
> I had a quick look at Freescales range of PowerPC based embedded
> processors. These are about $25/800Mips - as far as I can tell this
> would be significantly cheaper on a per MIP basis than buying computer
> hardware (even omitting the hdd and using minimal ram).
>
> My questions:
> 1. What is the best $/Mips microcontroller out there, preferably with
> I2C.
>
> 2. What is the best $/Mips microcontroller that I will be able to
> understand without too much trouble given that I have only used
> Microchip products so far?
>
> 3. The technical docs for the Freescale embedded processors left me
> somewhat confused (quite a jump up from microchip microcontrollers!!!)
> what external components do these devices need to run? In particular is
> the program code stored in the device or does it obtain this via the
> bus?
>
> 4. Now I'm not sure about the gory technical details but I assume that
> given the simplicity of the instructions my program needs to execute
> the MIPS figures for microcontrollers should be fairly comparable with
> that for desktops. The main difference I can see here would be
> regarding branching - I've heard that modern processors go to great
> lengths to predict which instructions will be executed so that no time
> is wasted while retrieving program instructions...
>
> 5. Another possibility that would keep me busy for a while is
> implementing the program in assembler on my PC. Unfortunately every
> computer that I have access to has a different architecture
> (Athlon,Sempron,Duron,2xPentium M) so I guess I would have to restrict
> myself to x86 instruction set? What sort of performance increase do you
> think this might produce?
>
> Thank you very much for your time and I look forward to hearing from
> you!
Hi,
Your first description seems to suggest a easily parallellizable algorithm
of moderate complexity. This might well be in the ballpark of modern FPGAs,
which are inheritly parallel. If you could elaborate a bit more on your
algorithm?
I once studied a similar problem and the thoughest points were:
1) efficient communication of your system (you probably need to load your
data and collect the results)
2) fault tolerance: the more devices you have, the likelier it becomes that
one of them will fail (murphy: just 1 second before producing the answer)
Kind regards,
Alvin.
.
- Follow-Ups:
- Re: Distributed microcontroller computing
- From: kha59
- Re: Distributed microcontroller computing
- References:
- Distributed microcontroller computing
- From: kha59
- Distributed microcontroller computing
- Prev by Date: Re: time detection via WWVB and the CME8000 module
- Next by Date: Re: Distributed microcontroller computing
- Previous by thread: Distributed microcontroller computing
- Next by thread: Re: Distributed microcontroller computing
- Index(es):
Relevant Pages
|