Which is better?

We're designing a new autonomous robot for the competition we attend during the summer and this is one of our topics for design. I want to do a dual-processor, multi-core computer to run the software. Some others want to do distributed computing (between two laptops). Am I wrong in thinking the performance of multi-threading far outweighs that of distributed computing?

Recommended Answers

All 4 Replies

What if one of the laptops was on your desk, and the other laptop was on your robot?

Something your "dual core" processor could never do.

for (;;) {
Too many factors pro et contra. It depends on control processes architecture.
As usually, multi-core CPUs can't run concurent heavy-floating-point-calcs processes or threads effectively. Distributed computing has its own syhch overheads. Number of data transmission channels...
}

What if one of the laptops was on your desk, and the other laptop was on your robot?

Something your "dual core" processor could never do.

That would be nice, but both computers have to be directly mounted to the robot. That does bring up a good point though; one that was discussed yesterday. Another pro to having dual computers would be a fail-over system.

How are you proposing to divide up the work between 2 laptops (if that's the way you go)?

One for each side, so each has one eye, arm, and one side of wheels?
Or one for all input sensors, and another for all movement?
Or maybe something else, say either could do any job based on current work load?

A single multi-core CPU would probably mean you wouldn't have to worry about say load balancing. And inter-process communication is fast and easy.

I'm not sure there's a "killer" argument which favours one or the other.
What about other non-computational requirements, like battery life or weight?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.