Darwinbots Forum

Code center => Suggestions => Topic started by: happyhamsterchan on May 04, 2010, 06:53:24 PM

Title: DBx64
Post by: happyhamsterchan on May 04, 2010, 06:53:24 PM
OK, So I was thinking...

A good sim is a big sim.  A big sim is a sim with a lot of RAM. However, x86 CPUs only go up to 4 GB. Should we upgrade DB to 64bit, perhaps so we can use a bajillion bytes of ram? that way we can make a cool sim. so ya.

I was thinking that, since most computers already support x64, and since RAM gets cheaper every year, perhaps this might be important enough for us to do to DB2?
Title: DBx64
Post by: Numsgil on May 05, 2010, 01:59:58 AM
Sims aren't pushing the 4 GB limit at present, so probably not necessary.  I think you'll blow your CPU budget long before you run out of RAM.

Logistically, Visual Basic 6 is not 64 bit-able.  .NET is, sort of, but there are some 32 bit assumptions that need to be made for XNA, etc. that mean that it's not strictly easy to go 64 bit.
Title: DBx64
Post by: ikke on May 05, 2010, 03:08:12 AM
Quote from: Numsgil
Sims aren't pushing the 4 GB limit at present, so probably not necessary.  I think you'll blow your CPU budget long before you run out of RAM.
In this case store more, calculate less. Collision detection, for instance can be speeded up by octree searches
Title: DBx64
Post by: happyhamsterchan on May 06, 2010, 05:58:56 PM
Do we already do that nums?
Title: DBx64
Post by: Numsgil on May 06, 2010, 07:41:32 PM
That's called a broadphase in physics, for the record.  Yes, I think Eric implemented a simple grid for a broadphase.
Title: DBx64
Post by: happyhamsterchan on May 06, 2010, 07:46:50 PM
so have you tried coding up memory-wasting code, instead of cpu-intensive stuff?
Title: DBx64
Post by: Numsgil on May 06, 2010, 08:17:11 PM
Yeah.  Again, there's only so far you can take it from a Comp Sci standpoint.  Plus, because of CPU caches, there is definitely a point of diminishing returns (cache trashing).
Title: DBx64
Post by: happyhamsterchan on May 06, 2010, 10:51:40 PM
awh... oh well, worth a shot.
Title: DBx64
Post by: peterb on May 08, 2010, 01:01:44 PM
Instead of large computer one could design a grid that expands over multiple computers.
Such designs scale well and are even used for distributed virtual chemistry.. (which requires a lot of CPU power)

Simply extend the screen borders to others, if you like to create something like that, and in DB2 currently there is a telleporter in internet mode, does a bit the same..

If you think about local speed, you should maybe think about CUDA (let the GPU do some of the processing).
but it wil not work for all graphic processors (so then you need alternative routines too).

Title: DBx64
Post by: Houshalter on May 08, 2010, 01:20:00 PM
We need to run Darwinbots on a super computer someday. I can't wait to see a zerobot after 10 million generations. Is there any way we can do this, ever? I suppose you could sign up with one of those shady web services that promise you billions of cpu cycles from an unamed source.
Title: DBx64
Post by: Billy on May 08, 2010, 03:54:36 PM
Quote from: Houshalter
We need to run Darwinbots on a super computer someday. I can't wait to see a zerobot after 10 million generations. Is there any way we can do this, ever? I suppose you could sign up with one of those shady web services that promise you billions of cpu cycles from an unamed source.
Supercomputers work by having hundreds or processors, and DB can't even run dual core! I think that should be the next step, by the way. It would mean that, on dual core machines, it would run twice as fast.
Title: DBx64
Post by: happyhamsterchan on May 08, 2010, 04:32:22 PM
well, you can run db to take advantage of two/more cores, but afaik it's somewhat inefficient. You just have to run a sim on each processor, and network them all together.

BTW a PC in two years will be a supercomputer anyway, we can just wait for octocore i9s to come out.
Title: DBx64
Post by: ikke on May 08, 2010, 09:40:05 PM
Quote from: Houshalter
We need to run Darwinbots on a super computer someday. I can't wait to see a zerobot after 10 million generations. Is there any way we can do this, ever?
Been there done that (once)
Title: DBx64
Post by: Houshalter on May 08, 2010, 10:55:28 PM
Quote from: ikke
Quote from: Houshalter
We need to run Darwinbots on a super computer someday. I can't wait to see a zerobot after 10 million generations. Is there any way we can do this, ever?
Been there done that (once)
What happened They made a good point about the lack of parallel processing which is ironic since it seems like alot of DB could be parralized even if it was a bit inefficient.
Title: DBx64
Post by: ikke on May 09, 2010, 03:25:33 AM
Let me see if I can dig up some old save. I still have the intention to continue. Basically I upped the costx by hand (works faster). This made it labour intensive.