Apache Hadoop is designed for distributed data processing.... Not the same thing as a game server...Apache Hadoop might make a good background system for StarMade. It might even make same-server processing more multi-core efficient.
Distributed processing is what this thread is all about. It might spread the processing more evenly to the rest of the cores.Apache Hadoop is designed for distributed data processing.... Not the same thing as a game server...
Hadoop is meant for DATA processing. We're talking large databases, web server requests, management systems, and other high volumes of data from a database such as archive systems.Distributed processing is what this thread is all about. It might spread the processing more evenly to the rest of the cores.
Hadoop at it's core is a distributed Map-Reduce engine and a distributed file system. If you don't know what that is I recommend doing some reading.Distributed processing is what this thread is all about. It might spread the processing more evenly to the rest of the cores.
It is designed to filter/sort/summarize/aggregate huge bodies of data like Google for example. That is a drastically different type of processing that real-time collision/physics, and the other things like logic blocks, factories etc. The other parts of Hadoop are things like a distributed database which isn't really helpful here as the game doesn't store that many files (It does store a lot but it's still well within the limits of one server). Another part (HDFS) is a distributed file system which again isn't really helpful for the same reason the database isn'tA MapReduce program is composed of a Map()procedure that performs filtering and sorting (such as sorting students by first name into queues, one queue for each name) and a Reduce() procedure that performs a summary operation (such as counting the number of students in each queue, yielding name frequencies). The "MapReduce System" (also called "infrastructure" or "framework") orchestrates the processing by marshalling the distributed servers, running the various tasks in parallel, managing all communications and data transfers between the various parts of the system, and providing for redundancy and fault tolerance.
OpenCL has benefits, but all of what needs to happen should be well enough done just multi-threading what's there. Don't really think there's much of a reason to involve OpenCL in this yet. I'm sure the devs know how they want to do it, they've just been busy with other features.So you are thinking more along the lines of JOCL/JavaCL? (Most people think "GPU" when they think "OpenCL", but it also takes advantage of multiple CPU cores.)
Don't forget desynch-problems and deadlocks…Java is a multithread language, so it's definitely *possible* to teach Starmade to multithread. Only issue is going to be how much work it'll take to improve the code.
Seriously? I'm completely calm, and I never said you couldn't.I don't really get why there's so much fuss over this. You guys know we can have both, right?
You can totally thread Java. It's not a big deal. In order to do that, you'd have to split the universe into isolated physics systems anyway; and that's the hardest part of networking multiple computers. It's a short leap from threaded servers to networked servers.
You also aren't required to network servers. No one is going to force you to rent from a bunch of different hosts for a decent server. Being able to network would mean that, if your server admins trusted you, you could link your gaming desktop up to the server when you aren't using it for the benefit of everyone. Or an old laptop, or something like that.
Chill out yall.