Multiprocessor in Byte Magaziene
Email to Steve Ciarcia ( Circuit Cellar Ink-paper owner and former writer to Byte magazine ->1987? )
Steve
Can you answer this question ?
http://www.8052.com/forum/read/104900
Back in the day Steve Ciarcia (Byte, and Circuit Cellar Mag) used 100 8051's to generate a mandlebot set. This was back when it <would have taken a PC a week to do it.
100 12MHz 8051 = 100MIPS.
And how long did it take the 100 8051's?
Reference to discussing what is RTOS ( Real Time Operating System) in our robotics wiki
(http://robotti.wikidot.com/reaaliaikasysteemit)
Can you give some hint or you may write about this in your column.
Regards Pekka Ritamaki
=== Steve anwers 13.11.2008=== =
Hi Pekka,
After talking with Ed Nisley, here’s how we see it:
—Steve
The initial image is the whole Mandebrot set, centered on
(-0.405,0) with a real axis size of 3.59 and aspect ratio of about 1.33. The image has 19.7% black
points (44154 pels) with an average 6.6 iterations/point and computes in 2.8 minutes. If overhead
in transmission and dot drawing weren't a factor, it would take 1.9 minutes.
A better measure is to run the same scene with an iteration count of 128. It takes 6.2 minutes to
display 37667 Mset points (16.8%), with an average of 15.0 iterations/point.
The communications and display overhead accounts for about
1.8 minutes of that time.
A LONG computation with this thing set to 1024 iterations is maybe 45 minutes…
I don't have comparative times, but it greatly outruns my 8 MHz AT/10 MHz 80287 running the
official IBM MSET program.
Benchmarking this thing is a problem because we don't have an apples-to-apples comparison with a
286 running the same code. Sometime Real Soon Now…
Ballpark performance: each iteration takes 5 to 7 ms per processor (including ALL overhead).
Divide by the number of processors to get the average time per iteration for the whole array. For
64 processors it's about 94 us, including the data transmission and dot drawing times. Your
mileage may vary, but that's a good starting point.
More stuff:
Figure 6 summarized a head head competition between an 8 MHz IBM AT and a Mandelbrot Engine with 64
processors. The AT takes 85 minutes to generate the same image that the Engine knocks off in 3.9
minutes. Adding a 10 MHz 80287 to the AT improves its performance to 9.7 minutes, while the Engine
drops to 2.8 minutes because of the improved speed in the driver program. Those numbers are worth
examining in more detail. The AT is slower than the Engine by a factor of 22! Adding an 80287
improves the AT by a factor of 8.8, but the Engine is 3.5 times faster than that. Not bad for a
bunch of single chip microcontrollers, eh?
The caption for that figure has more details:
Figure 6
Mandelbrot Engine vs PC AT
PC Hardware
8 MHz IBM AT
10 MHz 80287
256K IBM EGA with IBM ECD
calculations with double
precision floating point numbers
53 bits of precision
Mandelbrot Engine Hardware
64 processors
11.059 MHz crystal
28.8 K bits/second serial rate
calculations with fixed point numbers
64 total bits, 60 fractional bits
Mandelbrot Set Values
Center at
0.5 + 0i
Extent 3.5906642 + 4.775583i
Aspect ratio 1.33
Maximum of 16 iterations at each point
640 x 350 points
AT only
Engine
AT w/ math coprocessor:
85.0 min
2.8 min
AT w/o math coprocessor:
9.7 min
3.9 min
The Mandelbrot Engine found 44154 (19.71%) points in the Mandelbrot Set, while the AT only code
found 43471 (19.41%).
And another caption:
Figure 7
Mandelbrot Engine Performance
PC Hardware
8 MHz IBM AT
10 MHz 80287
256K IBM EGA with IBM ECD
calculations with double
precision floating point numbers
53 bits of precision
Mandelbrot Engine Hardware
varying number of processors
11.059 MHz crystal
28.8 K bits/second serial rate
calculations with fixed point numbers
64 total bits, 60 fractional bits
Mandelbrot Set Values
Center at
0.5 + 0i
Extent 3.5906642 + 4.775583i
Aspect ratio 1.33
Maximum of 64 iterations at each point
37636 (16.8%) points in the Mandelbrot Set # Procs Time Iter/pt Time/iter Total points
.335 ms
224000
.579 ms
224000
.886 ms
218400
.253 ms
224000
.622 ms
224000
.900 ms
218400
.700 ms
224000
The AT takes 21.7 minutes to generate this image and finds
37638
(16.8%) Mandelbrot Set points.
Heck of a gadget, back in the day, huh?
Lisää Steven kirjoituksia http://www.circuitcellar.com/archives/priorityinterrupt/205.html [http://www.circuitcellar.com/archives/priorityinterrupt/205.html]
Ed kirjoitus samasta asiasta
[http://robotti.wikidot.com/local--files/multiprocessor/mandelbrot_ed_nisley.txt]





