Shop OBEX P1 Docs P2 Docs Learn Events
MAXimize prop-power — Parallax Forums

MAXimize prop-power

HumanoidoHumanoido Posts: 5,770
edited 2010-03-08 02:11 in Propeller 1
everyone is quick to point out shortcomings...
how about pointing out the power?
How can I make a group of ten Propeller chips max powerful?
How should I connect these together?
Keep it simple so I can understand it, and implement it.
The rules, you cannot say anything negative.
humanoido

Post Edited (humanoido) : 3/5/2010 11:41:19 PM GMT
«1

Comments

  • BuildThingsBuildThings Posts: 31
    edited 2010-03-05 05:07
    @humanoido


    What is your overall goal? Are you trying to just expand the number of IOs for better control over more things, Or are you trying to implement some sort of a distributed processing protocol?



    -John
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 08:21
    The goal is a simple yet efficient way to connect ten props
    and utilize maximum capability, in terms of both hardware
    and software. No need to expand the I/Os, there are
    already enough. Distributed processing - yes.

    humanoido
  • heaterheater Posts: 3,370
    edited 2010-03-05 09:14
    What you have there is the ability to control and or monitor 80 fairly rapid independent external devices that are operating without any time synchronization between them. One per COG.

    Perhaps the 10 Props can then impose some order on the action of those 80 devices by sharing some data/events amongst themselves. Or perhaps it's just a monitoring/logging system.

    The is something that 10 Props can do that 10 of many other micro-controllers cannot.

    So the question might be what kind of application might require such a system? Some complicated machine with many independently acting parts that needs choreography perhaps.

    Distributed processing? Well I'm not allowed to be negative here. But coordinated/simultaneous high speed action on the real world yes.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.

    Post Edited (heater) : 3/5/2010 9:19:55 AM GMT
  • MagIO2MagIO2 Posts: 2,243
    edited 2010-03-05 09:36
    Hmmm ... how many neurons can ond COG simulate? How many can be simulated by a Prop then? That 10 times ...

    I'd feed it with RSS messages and wait until it says: "I think, therefore I am" PS: ( Ehmm .. of course it would not really say it ... it sends it as a text message to the terminal )
  • heaterheater Posts: 3,370
    edited 2010-03-05 09:40
    MagIO2 - "Hmmm ... how many neurons can one COG simulate?"

    Not even one.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • MagIO2MagIO2 Posts: 2,243
    edited 2010-03-05 09:53
    Throw him out! He broke the rule!






    ;o)
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 09:54
    heater said...
    Not even one.
    heater: that sure sounds negative to me. How about saying a single cog can simulate some aspects of a neuron?
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 09:57
    MagIO2: You're right - he broke the rule, and he was doing so well... makes you wonder what happened to fall off the ladder like that. Actually, heater is one of the most informative and positive people on the forum. We're going to need an explanation. heater?
  • heaterheater Posts: 3,370
    edited 2010-03-05 09:58
    OK. Sorry, let me try again:

    A single COG my virtue of simply existing, or not, can simulate the existence, or not, of a neuron.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 10:00
    uh... did heater just do it again? did he say the "n" word??
    and did he say it twice? Oh my!!! It's really easy
    to remain positive, right???
  • MagIO2MagIO2 Posts: 2,243
    edited 2010-03-05 10:08
    Let's analyse what heater said:
    existing = E1
    not (existing) = E2

    So, boolean algebra says: E1 or E2 will always be true, which is positive even if he used the n-word ;o)
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 10:11
    heater said...
    What you have there is the ability to control and or monitor 80 fairly rapid independent external devices that are operating without any time synchronization between them. One per COG.

    Perhaps the 10 Props can then impose some order on the action of those 80 devices by sharing some data/events amongst themselves. Or perhaps it's just a monitoring/logging system.

    The is something that 10 Props can do that 10 of many other micro-controllers cannot.

    So the question might be what kind of application might require such a system? Some complicated machine with many independently acting parts that needs choreography perhaps.

    Distributed processing? Well I'm not allowed to be negative here. But coordinated/simultaneous high speed action on the real world yes.
    It sounds like a very good wish list for a biped or humanoid robot.

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 10:15
    We are so quick to want a brain like a human brain
    but why not design a brain specifically for a robot?
    This robot brain could think in ways that are best
    suited for a robot, not a human. It's going to be
    robotic life form, not human.

    humanoido
  • MagIO2MagIO2 Posts: 2,243
    edited 2010-03-05 10:18
    ... with robot neurons ... so we're back on the right track ;o)
  • heaterheater Posts: 3,370
    edited 2010-03-05 10:39
    humanoido - "We're going to need an explanation."

    Well I don't know much about neural nets in the realm of computer science and even less about the actual working of real neurons in real brains.

    In the limited study of computing neural nets I can see quite simple simulations of neurons. Perhaps simple enough to do in a COG. I can see a lot of such neurons connected together in some way. I can see various ways of adjusting the connection strength between the neurons in a net. Perhaps this can be done with a collection of COGS/Props and appropriate connectivity. Altogether we end up with a system that seems to be somehow "trainable" for some pattern matching tasks.

    What about the real neurons in real brains?

    Well one of the most striking things I picked up about real brains is the ability of a neuron to grow new connections where there were none before. To reach out, extending its axons in specific directions until it can make synaptic connections with perhaps quite distant neurons.

    We find that short term learning may be carried out by changing the connection strength of existing connections but long term memory involves this kind of growth of new synaptic connections.

    In order to simulate the behavior in a computer one would have:
    1) Every neuron connected to every other neuron, even if the strength of most of the connections is zero initially (No connection) such that the growth of new connections can be simulated by increasing those zero strength connections.
    That's really not possible for all but a small number of neurons.

    or 2) Some way of creating new connections where previously there were none. But how to do that?
    Does each neuron know about the existence of all the others such that it can connect that way if it feels the need? Seems unlikely and how would it know which way to go anyway?
    Is there some external mechanism guiding the growth and direction of these new connections. Probably. Chemical in nature. In fact that chemical soup that the neurons live is critical to their apparently intelligent behavior.

    I think my biggest bugbear with the idea that computer based neural nets simulate real neurons and brains is that some how we have to train the computer versions. The real thing trains itself by virtue of being in whatever environment it is in and having some feeling about what it likes and dislikes.

    Then we find researchers claiming that long-term memory requires the turning on of genes.

    I think you can start to see that whatever computer neural nets do it is so much simpler than the real thing it hardly deserves the word "simulation".

    See what the 2000 Nobel Prize winner Eric Kandel has to say about neurons here http://www.fathom.com/feature/60864/index.html

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • heaterheater Posts: 3,370
    edited 2010-03-05 10:50
    I think NOT is quite positive.

    I mean ANDs are OK and ORs are pretty cool. But you try building a computer with out NOT. It can NOT be done.

    NOT has to be positive at it's input or it's output at any given time. The other functions AND, OR, XOR don't have to be.

    In that way NOT is more positive.

    By the way for a long time neural nets were dismissed because a single neuron is so stupid it can't even perform the XOR operation on it's inputs. home.agh.edu.pl/~vlsi/AI/xor_t/en/main.htm

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2010-03-05 16:54
    I've been curious how the propeller (an array of them) would stack up in the distributed.net RC5 challenge. All their cores are written in assembly and are necessarily quite small and efficient. There are dozens of cores written for many CPUs by many different authors. My (quasi) dual core Pentium 4 can test about 8 Million keys a second, and it cost $25

    PS. it was very difficult to write this without the (opposite of yes) word. I'm half German, you see.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -MH
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 23:05
    heater said...
    I think NOT is quite positive.
    I mean ANDs are OK and ORs are pretty cool.
    But you try building a computer with out NOT. It can NOT be done.
    NOT has to be positive at it's input or it's output at any given time.
    The other functions AND, OR, XOR don't have to be
    In that way NOT is more positive.
    By the way for a long time neural nets were dismissed
    because a single neuron is so stupid it can't even perform the XOR operation on it's inputs.
    home.agh.edu.pl/~vlsi/AI/xor_t/en/main.htm
    If not positive, then negative. I see the point. We need BOOLEAN.
    You can say a computer has two states - on or off. Off is negative.
    So if you have a OFF day, things are not going well. This is negative.
    Everyone, even computers, have on and off experiences.
    It's paradoxical that through all this negativity,
    it is important that we humans try to remain positive.

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 23:12
    Shmoopy said...
    I've been curious how the propeller (an array of them) would stack up in the distributed.net RC5 challenge. All their cores are written in assembly and are necessarily quite small and efficient. There are dozens of cores written for many CPUs by many different authors. My (quasi) dual core Pentium 4 can test about 8 Million keys a second, and it cost $25
    Shmoopy: Good point! I like the idea of a Propeller distributed net confined to an aggregate made up of localized cores. A 10 props assembly can have 80 participating cores for the test. Maybe someone can instruct us on implementing the software test on some Props...

    humanoido

    Post Edited (humanoido) : 3/5/2010 11:17:08 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-05 23:42
    I think one area of maximizing prop power is cooling to increase speed.
    The other area is changing the crystal to get to 130 Mhz.
    Another is increasing voltage.

    What other methods exist to increase a prop to maximum power
    and efficiency?
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2010-03-06 16:22
    Increase processing power? Connect a 3 line data bus to all the pins and assign a "master" prop. Then have the master prop take in commands and serailly send them to the other props for processing. Each prop could have it's own processing capability, or they could just keep passing more finished bits on. Each COG could act as an independant processor, and all the Props could share a common memory, aka, an SD card. The data could be read by one and then passed down the data bus to allow all chips to process a small section of it. Each chip could then assign 1 cog to process that. An internet connection would allow for endless data retrieval, if it needed the vast data. Almost all data a robot brain would need could fit on a 2GB SD, so that would also be suitable.

    Micro

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Don't click on this.....
  • pmrobertpmrobert Posts: 677
    edited 2010-03-06 20:08
    The Prop is absolutely capable of simulating 8 of the thousands of transmembrane proteins of a single neuron! Not negative!
  • jazzedjazzed Posts: 11,803
    edited 2010-03-06 22:30
    pmrobert said...
    The Prop is absolutely capable of simulating 8 of the thousands of transmembrane proteins of a single neuron! Not negative!
    @pjv has shown a nice example of executing more than one task per COG here. The tasks timeshare, but the full computational power of a COG for small programs like weight summation, etc... is available. So 8*N simulations completing within a given time-frame is possible (7*N assuming a master control process per chip). Not negative is positive unless it's zero [noparse]:)[/noparse]
  • kwinnkwinn Posts: 8,697
    edited 2010-03-07 16:17
    I have been thinking about building a board (smt) with a 3x3 array of props where the center prop would act as a combination of master and cross-point switch/router for inter-prop communications. The master would be the only one with a crystal and eeprom and have access to a micro sd card. It would assign tasks to the 8 peripheral props and coordinate the results. At the moment I am in the idea gathering stage. Any interest or suggestions ?
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-07 17:43
    jazzed said...
    @pjv has shown a nice example of executing more than one task per COG here. The tasks timeshare, but the full computational power of a COG for small programs like weight summation, etc... is available. So 8*N simulations completing within a given time-frame is possible (7*N assuming a master control process per chip). Not negative is positive unless it's zero [noparse]:)[/noparse]
    So we are talking about one chip with eight cores (COGs) and each core can timeshare eight specific tasks. One task is the master and 7 tasks are workers. So in a ten chip prop computer, there are 80 cores with ten masters and 70 workers. A 10 x 10 array of props gives 800 cores, 100 masters, and 700 workers. Three of these boards would yield 2,400 cores with 300 masters and 2,100 workers. Is this concept totally unique in regards to "inside processing" of single chips and as a plural aggregate would designate a method of super proportions?

    http://forums.parallax.com/showthread.php?p=886139

    humanoido

    Post Edited (humanoido) : 3/7/2010 5:49:01 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-07 17:51
    Continuing along that same thinking, the one master prop is a designated flip flop. It masters the internal 7 remaining cogs, while externally it commands its assigned group of props. The same time share element would apply.

    humanoido
  • jazzedjazzed Posts: 11,803
    edited 2010-03-07 19:37
    humanoido said...
    ... Is this concept totally unique in regards to "inside processing" of single chips ....
    It is not unique. Your PC does it all the time. Most of it is fully transparent to users and applications.

    Complex schedulers are used in modern operating systems Linux,Windows,etc... for multi-tasking on single and multi-core CPUs to allow N threads of pseudo-simultaneous execution (N is dependent on memory availability). Schedulers are usually managed by programmable timers, etc... to allow slices of code to run in order of system priority.
  • LeonLeon Posts: 7,620
    edited 2010-03-07 20:05
    It's best to use chips that do task switching in hardware, it's *much* faster and easier for the programmer. It can even be done in one clock.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-08 02:04
    Leon: do you have any examples of task switching for ten props connected together? How would you construct the circuit?

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-03-08 02:11
    jazzed said...
    It is not unique. Your PC does it all the time. Most of it is fully transparent to users and applications. Complex schedulers are used in modern operating systems Linux,Windows,etc... for multi-tasking on single and multi-core CPUs to allow N threads of pseudo-simultaneous execution (N is dependent on memory availability). Schedulers are usually managed by programmable timers, etc... to allow slices of code to run in order of system priority.
    Good! With multiple cogs/cores, this becomes a powerful tool to help our quest for maximum prop-power. We will list transparency, schedulers, multi-tasking, threading, timers, running intended code slices, and pseudo simultaneous operations.

    humanoido
Sign In or Register to comment.