Sign in with
Sign up | Sign in
Your question

Where can I get a single core CPU?

Last response: in CPUs
Share
May 14, 2012 10:13:34 AM

Hi (I'm new! :) 

I (and a lot of others) have been running Minecraft servers on multicore CPUs since it was released. The problem is, the server everyone uses because it has mods (bukkit) instead of the Vanilla server does not and may never support multicore processing, it's written in Java by the way. I've been looking into Java Virtual Machines but I was wondering if anyone knows of an Intel/ AMD single core CPU at 3.5Ghz or above?

Thanks :) 

More about : single core cpu

May 14, 2012 12:08:34 PM

It is unwise to buy 1 core CPU. You can make Mincecraft run on 1 core if you want, but at one day may support more. Then you need upgrade. Price difference from 1 core and 2 core or 4 core is not much.
Related resources
a c 203 à CPUs
May 14, 2012 12:24:04 PM

Hello SawSkij;

Are you looking to save money or do you want higher performance?
Should be no problem at all running a single thread application on a fast dual core CPU.

There are always background programs and processes running to support Windows. You don't want them running on a single core CPU along with your Minecraft server.
a b à CPUs
May 14, 2012 12:26:50 PM

I do feel for you in your situation, however I agree that it would be a mistake to seek out a single core CPU.

It is a great thing about today's CPUs that general computer maintenance tasks can be offloaded onto unused cores. This way you can have core #1 do the game and core #2 be assigned all kinds of tasks like virus checking and general things windows needs to do to get done like checking the message queue.

If you go back to 1 core, all those things have to be offloaded onto core #1 and they will decrease core #1's performance in the game.

Even if the game will only use 1 core there are still a whole lot of really good reasons not to go below 2 cores.

Turbo Boost and stuff allows shutting down unused cores to increase performance for the cores that are still in use, I would look into that.
May 14, 2012 1:02:06 PM

WR2 said:
Hello SawSkij;

Are you looking to save money or do you want higher performance?
Should be no problem at all running a single thread application on a fast dual core CPU.

There are always background programs and processes running to support Windows. You don't want them running on a single core CPU along with your Minecraft server.


Thanks for the replies :) 

Yes, I agree I should've thought of all the other windows processes etc. Although I may well be running a small linux server distro for the server/ ubuntu so might need less CPU power then if I was running a Win server

I think it will probably be cheaper to get a dual core 3.5+ as they are in abundance - well more so then singles. FYI I'm in England so neweg won't do me any good here, thanks anyway!


Does anyone know if I can use a Java Virtual Machine to 'spread' the jar file across a cluster? (should I post this in a different area of the forum?)
May 14, 2012 1:08:09 PM

*I want higher performance of in a single core without the cost of a quad core.
*newegg

Also what dual intel processor is best for value for money vs individual processor performance (I mean, a value for money dual core but that each 'core' works very well on it's own as well as with the other core)

Thank you.
a b à CPUs
May 14, 2012 1:16:29 PM

So why not just get a quad core anyways... If its not gonna use more than 2 cores... atleast the other two cores will be running the rest of your system when the 1 core handles Minecraft
May 14, 2012 1:23:11 PM

Good point. What I'd like to know (and it may be a stupid question) is can I assign windows etc. to run on three cores and only Minecraft to run on the remaining one core? Or restrict a core from being used by particular processes?

Thanks.
a c 79 à CPUs
May 14, 2012 1:42:52 PM

SawSkij said:
Think I've found an answer to my question!

Setting processor affinity for a certain task or process
http://www.cyberciti.biz/tips/setting-processor-affinit... incase anyone else searches for it.

:) 


Leave windows to do affinity management, its good at it. Threads that can't be parallelised will be stuck on one core, the other cores will then be used for other threads from other programs. Doing it yourself is asking for trouble.
May 14, 2012 1:45:36 PM

13thmonkey said:
Leave windows to do affinity management, its good at it. Threads that can't be parallelised will be stuck on one core, the other cores will then be used for other threads from other programs. Doing it yourself is asking for trouble.


Thanks, so what program(s) is there to accomplish this in Windows? :) 
a c 203 à CPUs
May 14, 2012 1:46:37 PM

As 13thmonkey mentioned - Windows 7 does that for you.
May 14, 2012 2:01:58 PM

Right. But what if I want to specify which cores run each program/ process?

Can I do this? & is is safe in therms of overheating/overtaxing (I don't care if it's not "recommended" by Microsoft) :kaola: 
a c 79 à CPUs
May 14, 2012 2:06:39 PM

its safe, its no better performance than letting windows do it. For instance there might be some threads that can be parallelised for better performance, forcing the app to core 0 would prevent that from happening.
May 14, 2012 2:10:04 PM

you can set which core each program is run in, its in task manager >>processes >>right click on the process and set affinity. Its a hassle to get it every time you reboot (there is one was of getting around it which you already discovered).

essentially its just windows doing its own work with a little guidence from you. What wr2 is getting to is that windows is already optimised for that so it will do that automaticly anyway so there is really no need to tell it which core each program should run.
a c 203 à CPUs
May 14, 2012 2:10:58 PM

No reason you can't experiment and test it out.
I just doubt you'll find any extra performance for your server by doing it.
May 14, 2012 2:12:07 PM

Newegg might have a single core processor, however I don't think it will clock that high
May 14, 2012 2:27:01 PM

http://www.xpcpro.com/processors-en/ If you take a look there, all the cpus coming out are 2 cores and up.
Seriously though, all you have to do is use task manager. Then just right click on the executable and choose which core you want to use.
You won't feel any change. I do it with maya when i'm rendering heavy scenes so that i can do other stuff.
May 14, 2012 3:24:13 PM

zhihao50 said:
you can set which core each program is run in, its in task manager >>processes >>right click on the process and set affinity. Its a hassle to get it every time you reboot (there is one was of getting around it which you already discovered).

essentially its just windows doing its own work with a little guidence from you. What wr2 is getting to is that windows is already optimised for that so it will do that automaticly anyway so there is really no need to tell it which core each program should run.


Is there a program for windows which will set affinities automatically on startup? :D 
a c 79 à CPUs
May 14, 2012 3:36:56 PM

I still don't get why you would want to.
a b à CPUs
May 14, 2012 4:11:04 PM

SawSkij said:
Is there a program for windows which will set affinities automatically on startup? :D 


I know some exist that set affinity at program launch; nothing a google search couldn't find.

That being said, barring some 10+ year old program that REALLY doesn't like multi-core CPUs [A handful exist], there is no reason to mess with processor affinity.
May 14, 2012 5:10:34 PM

13thmonkey said:
I still don't get why you would want to.


Because I want an entire core to run Minecraft (bukkit server) rather then it being shared with the other windows and other apps :) 



gamerk316 said:
I know some exist that set affinity at program launch; nothing a google search couldn't find.

That being said, barring some 10+ year old program that REALLY doesn't like multi-core CPUs [A handful exist], there is no reason to mess with processor affinity.


Thank, I'm going to try it anyway and see if I can get more from bukkit using just the single core.

(P.S. just going to post a thread on XP giving me the error "this action is only valid for products that are currently installed" - if anyone know anything about this I would appreciate your help!)
a c 79 à CPUs
May 14, 2012 5:24:59 PM

SawSkij said:
Because I want an entire core to run Minecraft (bukkit server) rather then it being shared with the other windows and other apps :) 

but what do you hope to gain from that vs a normal run? :o 
a c 128 à CPUs
May 14, 2012 5:42:33 PM

SawSkij said:
Because I want an entire core to run Minecraft (bukkit server) rather then it being shared with the other windows and other apps :) 

While you can restrict applications to a single core, I do not think there is any way to exclude other applications from getting scheduled on it other than disabling the core altogether.

As others have said, it is unlikely that you will gain anything from dedicating a core exclusively to a single application. Even "single-threaded" applications usually have multiple threads from framework constructs, support libraries and DLLs. Those "automatic" threads may not do much work but it still lets largely single-threaded apps benefit a little from multi-threading.
a c 79 à CPUs
May 14, 2012 5:57:17 PM

shove it on a virtual machine with a single core and see how it runs.
May 14, 2012 7:50:19 PM

13thmonkey said:
shove it on a virtual machine with a single core and see how it runs.


I would. However the point is that I now realise I need at minimum a dual core to put everything running on core 1 and the java on core 0. But I've got parallels for mac so i'll try it on there. Or I might still try a single core on my old Pentium D Compaq!

I'm going to try it and see how it goes, I obviously have no idea if this will improve the server, if it does it'll be worth the two hours I spend, setting things up and poking around task manager :) 

Apparently I can just use shortcut quotation marks to start anything in the startup folder and I guess I'll figure the other stuff out later!
a c 283 à CPUs
May 14, 2012 8:04:00 PM

This thread is very strange to me. I REALLY don't understand how restricting any modern program/process to a single core would INCREASE performance. As has already been mentioned, just get a multi core CPU and let Windows/Linux do its thing. No reason AT ALL to physically set affinity.
a c 128 à CPUs
May 14, 2012 8:22:11 PM

SawSkij said:
I'm going to try it and see how it goes, I obviously have no idea if this will improve the server, if it does it'll be worth the two hours I spend, setting things up and poking around task manager :) 

My hunch is that you would get the best performance by letting Windows schedule it on whichever core it can on multi-core CPUs since this minimizes scheduling delays: no need to force a context switch on core #1 every time an event for a program restricted to #1 when #3 is idle and available for scheduling without context swap-out, this saves microseconds of CPU-time every time it happens.
May 14, 2012 8:31:24 PM

It is generally bad form to overrule the OS management of a core. It is not best practice and you will not see gains in performance in 99.9% of cases. Especially in a multicore GPU, for the purpose you are using it.

As it has been mentioned, once the thread is running on a core and it is only able to use one core it will stay there. The OS will not impede on its processing of that app unless the server is overloaded and processing backs up across ALL cores. Get a dual or quad core and have fun. It will be fine.

If all you are using it for is Minecraft and there is no other activity then don't worry about it.

You will ALWAYS get better performance out of the server than in your original design of a single core processor running everything.

Simply install the OS, install that app and be happy.
May 14, 2012 9:43:04 PM

DJDeCiBeL said:
This thread is very strange to me. I REALLY don't understand how restricting any modern program/process to a single core would INCREASE performance. As has already been mentioned, just get a multi core CPU and let Windows/Linux do its thing. No reason AT ALL to physically set affinity.


If you read the OP properly mr regular, I stated that the java-based program I want to run does not support multithreading regardless of the OS so I wanted to find out if there was any point in having a multicore CPU. Turns out there is! :) 

po1nted said:
It is generally bad form to overrule the OS management of a core. It is not best practice and you will not see gains in performance in 99.9% of cases. Especially in a multicore GPU, for the purpose you are using it.

As it has been mentioned, once the thread is running on a core and it is only able to use one core it will stay there. The OS will not impede on its processing of that app unless the server is overloaded and processing backs up across ALL cores. Get a dual or quad core and have fun. It will be fine.

If all you are using it for is Minecraft and there is no other activity then don't worry about it.

You will ALWAYS get better performance out of the server than in your original design of a single core processor running everything.

Simply install the OS, install that app and be happy.




Thanks mate, nice job. I'll be setting up on a dual CPU, dual core tomorrow :D 

a c 283 à CPUs
May 14, 2012 9:52:11 PM

Quote:
If you read the OP properly mr regular, I stated that the java-based program I want to run does not support multithreading regardless of the OS so I wanted to find out if there was any point in having a multicore CPU. Turns out there is! :) 


It doesn't matter if it SUPPORTS multiple threads or not. A LOT of current programs don't and can't use more than one core because they're not written to be able to. That has no bearing on performance with a multi core CPU. Multiple cores just enable other processes to work on the unused cores, hence why multiple cores are better. But I think you have the idea now that only having one core or setting affinity to just one core is a bad idea, generally.
a c 128 à CPUs
May 14, 2012 10:22:18 PM

SawSkij said:
I wanted to find out if there was any point in having a multicore CPU. Turns out there is! :) 

There practically is no such thing as a genuinely 100% single-threaded application these days since nearly every application development framework spawn worker threads to offload framework housekeeping tasks from the main program loop so programmers do not need to worry about accommodating periodic framework housekeeping calls. In Java, garbage collection is one thing that often gets delegated to a worker thread regardless of whether or not your own code uses threads or not.

Most of those "automatic" threads exist more for convenience than performance gains.
!