Project Mystery
Humanoido
Posts: 5,770
Parallax has a policy of posting projects for Project of the Week from their Project Forum. This allows everyone to access and see the projects, photos, code and schematic. However, today I see "Kilocore' by F. Michael O'Brien" which is linked to an off-forum website blocked from my location.
Humanoido
Humanoido
Comments
http://www.kilocore.com/
It doesn't seem to have progressed very far; the last update was December 2008.
Leon, since you can see the project, is it a complete project with code, schematic and photos?
I have a list of multi propeller projects and would be interested in this project's inclusion.
Maybe someone can post a Firefox page zip file.
Humanoido
http://www.leonheller.com/Propeller/KILOCORE.COM_files/
I've uploaded all the files, just click on a.htm. The links seem to work, as well.
-Phil
It looks like a really great project but very interesting to see it built so differently from others. I think that given 100 people to do the same project we would see 100 different interesting methods.
I was surprised to see that I had the project already linked here
But I don't know what happened to the links, though I have some ideas.
http://forums.parallax.com/showthread.php?t=124172
The 4-cog per chip was also surprising with the remaining handling the overhead. I'm currently working on software to bring everything into a cog which is taking some effort to free up all eight cogs per chip more or less.. Thanks again Leon.
Humanoido
Should be no surprise there. We have discussed this before. Somehow all those Props have to communicate. Even if you were using some simple UART based serial "bus" strung between all the Props that would be two COGs (Tx and Rx) used. Probably a third to manage the protocol and scheduling of work within the Prop.
Humanoido
Humanoido
No not me either. I was thinking in terms of a software UART in Cog and a simple serial bus joining all the Props. This would be the simplest and slowest way of connecting them. Only one Prop can speak at a time. But possibly a good place to start.
When you want to increase total communication bandwidth you add more connections between Propellers.
For example a 4 dimensional hyper cube would have a 16 Props, one at each "corner". Each of those Props is connected to 4 neighbors. Using a serial link, like FullDuplexSerial for each connection will eat 4 COGs from each Propeller.
Moving to a 5 dimensional hypercube with 32 Props each now has 5 links to neighbors so 5 COGS would be used in communication.
Of course one might move on to something a bit faster that a FullDuplexSerial style UART driver. Perhaps half duplex and using longs or blocks of longs instead of just bytes.
Thank you for all your interest in this exciting work. This happens to be my site, so I will answer some of the open questions posted here.
1) Blocked Site: The website may be blocked by some service providers on occasion (not likely country firewalls) because I happen to use a discount US provider (at 25% cost). Unfortunately because of this (they host around 482,000 other domains) – some of their other sites may contain content or highly repetitive traffic patterns that causes the 2nd level domain namesecure.com’s IP addresses to be automatically blocked including everything that points to the main site by your hosting provider.
http://www.objectivej.com/hardware/propcluster/index.html
http://dataparallel.org/
http://gigacore.org/
http://kiloprocessor.com/
http://propellercluster.com
http://obriendevices.com/
http://obrienlabs.com/
For example in 2007 Bell blocked all my hosted sites for 24 hours but Rogers did not.
The solution is to try a different service provider temporarily (I run both ADSL and Cable for redundancy). I have hosted as a favour an open source software domain redirect set for my corporate employer and we have only had the single 24h service disruption in the last 3 years. The problem is definitely on your end because since you last asked my in a private message to collaborate (I like to keep my hardware work unscheduled, exploratory and ad-hoc) the site was working for you – and I have not changed anything in the 4 months since.
2) Site is out of date: I only update it on major milestones lately.
I was not able to complete my more ambitious project of a 6-dimensional hypercube connected grid of 256 cores (I am currently limited by i/o pins per chip without extensive use of 595 SIPO and 165 PISO multiplexed I/O line expansion) in time for the last Parallax contest early this year because of the complexity of the routing software (it involves a lot more than XOR address mapping). My proposed similar simpler SIMD project for 2011 involves using all 8 cores with simple 1 bit protocol-less bidirectional (more than NEWS) local grid connections (essentially a non-optimal simulation of cellularautomata.net ). As we all know the hardware is easy – it is the software that is challenging (I come at this from a software background).
That said, I no longer post incremental updates and will upload all design, implementation and reference/credit details on the project when it is complete. I don’t know about you guys but I find continual design distracts from working prototypes. Every time I finalize a set of protocols – I find a better design or start working on the next one in parallel.
Leon, when the next contest closes or earlier - you can take the copied pages offline, so we don't have differing versions on Google.
3) Why only 4 cogs for SIMD work? As related, I need at least 1 cog to handle routing (if we are using a secondary hypercube or CCC network to handle the incoming and outgoing packet queues as well as routing between the 4 internal cogs). The same or other cogs can handle NEWS and optionally diagonal local routing either directly on pins or via 165/595 multiplexing (this is why the Rapport Kilocore had 1024+1 cores and partially why the IBM cell has 8 Streaming processors and 1 integer unit to communicate off chip.
One of the only ways to use all 8 cores for SIMD work and also communicate off chip is to dedicate several I/O pins to each core leaving only 12-14 for control/sync tasks.
So, here is an incremental block diagram for my last project that shows one verified method of getting data in and out of the SIMD cores via complementary 165 and 595 chips - one that is limited by serial access via the host controller cog.
4) I don’t know how my site came up on the radar of the weekly projects link – I got an email from a polite gentleman hardware designer a couple of hours later letting me know last week.
I would like to say that my interest in the propeller is solely as a proof of concept and simulation platform to investigate various software concurrency problems involving a large number of SIMD threads backed by 1-1 hardware granularity. The propeller chip allows me to work both sides (hardware and software) with ease of expansion due to the low cost DIP form factor and ease of bootstrapping the SIMD code via propellent from the host PC. For this I am gratefull to Parallax Inc.
Thank you
/michael
Yes, could you remove the copy of my website on your domain at your convenience. An issue with one service provider in Taiwan intermittently blocking namesecure.com IP's or multiple levels of redirects can be solved by him using Google cache functionality. Either of you could have emailed me at the email address at the bottom of the page before posting this to a public forum. I would like to close this issue.
I have attached a change from a 2 level redirect
kilocore.com --> dataparallel.org --> www.objectivej.com/hardware/propcluster/index.html
to a 1 level redirect
kilocore.com --> www.objectivej.com/hardware/propcluster/index.html
Leon, "Dec 2008" was when I started the project (not the last update) - you are reading the chronology backwards.
Thank you
/michael
Sent from my blackberry