LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


View Poll Results: Proc. cores vs. Clock speed. Which would you favor?
8 cores (2 x intel clovertown e5310 1.60Ghz quad-core Xeon) 10 40.00%
4 cores (2 x intel woodcrest 5130 2.0Ghz dual-core Xeon) 5 20.00%
4 cores (1 x intel kentsfield X3220 2.4Ghz quad-core Xeon) 7 28.00%
2 cores (1 x intel woodcrest 5160 3.0Ghz dual-core Xeon) 3 12.00%
Voters: 25. You may not vote on this poll

Reply
  Search this Thread
Old 10-05-2007, 01:19 AM   #16
daihard
Member
 
Registered: Jul 2003
Location: Seattle, WA
Distribution: Kubuntu 14.04 LTS
Posts: 915

Rep: Reputation: 34

Quote:
Originally Posted by LaughingBoy View Post
If you're not doing any major grunt work (games / photo manipulation / video copying), then 2x cores of the slowest you can find would be fine.
I remember reading an article that says most games are not designed to take advantage of SMP. Is it still true today?
 
Old 10-05-2007, 01:37 AM   #17
GrapefruiTgirl
LQ Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Rep: Reputation: 555Reputation: 555Reputation: 555Reputation: 555Reputation: 555Reputation: 555
Quote:
Originally Posted by daihard View Post
I remember reading an article that says most games are not designed to take advantage of SMP. Is it still true today?
Last I read, which was fairly recently, that was still true. *Some* games are getting threaded now, but the majority are still not.

@ Caesar -- as an example of 2 cores being useful vs. one core, on a desktop system: I noticed that my system processes usually wind up on one of my cores, while my user processes (MY processes) are usually dealt with on the other core.

Since under normal circumstances system processes aren't anything really intense, I have two cores 'mostly' available to use.
So, let's say I want to compile something. I run './configure', then 'make', then 'make install', ok? When I run 'make' normally, it consumes one CPU core. If I use 'make -j2' instead, I'm telling it to use BOTH cores, and I see the process being equally spread over the two cores. As a result, the build goes (theoretically) almost twice as fast. Compiling something HUGE would see a significant time savings. Plus, if I chose to leave 'make' in single-CPU mode, I can have the other core to myself to do what I want, while 'make' uses the other.
Another example: I ran 'glxgears' the other day, and noticed that it occupied ONE core only. However when Istarted a SECOND instance of 'glxgears' the second one went onto the OTHER core. Pretty efficient, IMHO, and comparable to running two CPU-intensive applications at the same time, and not suffering from lag.
I'm new to 'more-than-one-core' as well, and I don't play games at all; and I am finding dual cores IS useful in a desktop environment.
 
Old 10-05-2007, 07:56 AM   #18
LaughingBoy
Member
 
Registered: May 2006
Location: Adelaide, South Australia
Distribution: Fedora 6-17 x64 / Ubuntu 10.x x64
Posts: 95

Rep: Reputation: 16
Arrow

Quote:
Originally Posted by fobbio View Post
Higher counts on cores allow you to do more at once. But there is a catch, packing too many cores on a single die does diminish the entire CPU's efficiency when it comes to getting data from memory. You're effectively dividing your FSB by the number of cores.
If you follow the Intel approach, yes. AMD have done it the smarter way, and put dedicated memory controller for each core and CPU, so there's fewer bottlenecks. AMD's quads also use the HT bus, instead of the FSB for communicating, which is faster again.
 
Old 10-05-2007, 08:04 AM   #19
LaughingBoy
Member
 
Registered: May 2006
Location: Adelaide, South Australia
Distribution: Fedora 6-17 x64 / Ubuntu 10.x x64
Posts: 95

Rep: Reputation: 16
Arrow Gaming is it's own kettle of fish!

Quote:
Originally Posted by daihard View Post
I remember reading an article that says most games are not designed to take advantage of SMP. Is it still true today?
Yes, this is still mostly true, but when it comes to some very nearly released games (Crysis?, Alan Wake, others?) multi-core gaming will truly start to evolve. Right now though, a single fast core is just-about as good as a dual-core system for gaming. In some cases, better!
 
Old 10-05-2007, 11:03 AM   #20
daihard
Member
 
Registered: Jul 2003
Location: Seattle, WA
Distribution: Kubuntu 14.04 LTS
Posts: 915

Rep: Reputation: 34
Quote:
Originally Posted by GrapefruiTgirl View Post
Last I read, which was fairly recently, that was still true. *Some* games are getting threaded now, but the majority are still not.
Thanks for confirming my suspicion.

Quote:
Since under normal circumstances system processes aren't anything really intense, I have two cores 'mostly' available to use.
Let me ask you something here. Does it mean the kernel always uses just one of the cores to run system processes, or does it know to distribute any (i.e. system and user) processes over multiple cores as deemed necessary/userful? I am asking because I've been told that on a multicore system, the OS uses only one core for the system processes. I was wondering how true that statement was, and whether or not it depended upon the OS.

Quote:
Another example: I ran 'glxgears' the other day, and noticed that it occupied ONE core only. However when Istarted a SECOND instance of 'glxgears' the second one went onto the OTHER core. Pretty efficient, IMHO, and comparable to running two CPU-intensive applications at the same time, and not suffering from lag.
How do you figure out which CPU/core a particular process is using?

Thanks!
Dai
 
Old 10-07-2007, 05:56 AM   #21
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
The poll is meaningless because you should not provide specifics. It is best to provide simple examples instead providing the brand and what core.

If the poll is re-worded to something of the following.
a) 8 processors clocked at 1500 MHz each
b) 4 processors clocked at 2000 MHz each
c) 2 Processors clocked at 2500 MHz each
d) 1 processor clocked at 4000 MHz

Now as you can see the comparison can be easily be done with out having any headaches and brand wars.

With a multi-threaded application, the system with 8 processors will handle the load very well and the program will get very good response. Also it will process some large pieces of data ok. As the you down the line, performance of processing a lot of data increases, but with a lack of responsiveness. Games in Linux mainly uses SDL which is technically a multi-threaded API, so setup c will be a better choice for games. While setup b will be a second choice. The reason is because setup c has grunt to process a lot of data very fast and it has two processors to handle both video and audio at the same time. Setup b will process data slower than setup c, but it has two more processors to handle other task such as disk I/O, the kernel, and other hardware.

Games in Windows are different and I do not think DirectX is a multi-threaded API, so setup d will be better.
 
Old 10-13-2007, 06:29 AM   #22
Caesar Tjalbo
Member
 
Registered: Aug 2006
Location: Ņuņoa
Distribution: KaOS
Posts: 94

Rep: Reputation: 16
Quote:
Originally Posted by GrapefruiTgirl View Post
...
@ Caesar -- as an example of 2 cores being useful vs. one core, on a desktop system: I noticed that my system processes usually wind up on one of my cores, while my user processes (MY processes) are usually dealt with on the other core.
...
I am finding dual cores IS useful in a desktop environment.
Thank you, that's what I wanted to know. On my system, with my typical use, using more cores will result in more processor idle time but there will be occasions when it pays off. That leaves the question "To quad or not to quad" but that's really a matter of luxury.
Quote:
Originally Posted by GrapefruiTgirl View Post
...
So, let's say I want to compile something. I run './configure', then 'make', then 'make install', ok? When I run 'make' normally, it consumes one CPU core. If I use 'make -j2' instead, I'm telling it to use BOTH cores, and I see the process being equally spread over the two cores.
...
Compilation is an example where having more processing power is really useful. When I looked into the subject of multiple cores, I found some articles that were on parallel compiling. I can't remember the details but I know you can start more processes than you have cores. I've read different things, like processes = number of cores + 1 or number of cores * 2, and not every source likes to be threaded when compiled due to dependencies, but it seems you can utilize the cores even more efficient with a higher number of jobs. Perhaps a more knowlegdeable person can say something about this.
 
Old 10-13-2007, 12:56 PM   #23
jay73
LQ Guru
 
Registered: Nov 2006
Location: Belgium
Distribution: Ubuntu 11.04, Debian testing
Posts: 5,019

Rep: Reputation: 133Reputation: 133
It is generally recommended that

j= number of cores + 1

This is possible because today's CPUS also implement hyperthreading so that a single core can handle more than a single process. In fact, one could actually apply the number of cores * 2 rule but I believe that this is not recommended because computers are assumed to have other tasks to attend to during compilation. Assigning it too much CPU would lead to a non-responsive system.

Of course, all of this can still be hugely inefficient. Having tasks assigned their own core has nothing to do with actual threading, on the contrary. Threading will split a single task over various cores. For example, looking up four phone numbers on a quad core system, a program would have each core look up one number. That is obviously more powerful than assigning all the work to a single core while the other ones may be idle. To put it in numbers: if you have two tasks, one that takes one minute and another one that takes four, total time will correspond to the longest one, i.e. four minutes. Under ideal conditions, threading would evenly divide the burden so that (4 + 1)/4=1.25 - a lot faster, in short. But that is a best case scenario as threading has some overhead of its own.

Last edited by jay73; 10-13-2007 at 12:57 PM.
 
Old 10-15-2007, 05:08 PM   #24
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
Only Pentium 4 or any processor based on it have Hyperthreading, but AMD processors do not. Hyperthreading is there to provide a cheap way of making more processors at a cost of resources. Resources are divided, so performance is worsen. The upside two processors provides a little more responsiveness than before there was only one processor.

Using multiple processors for compiling does help, but it can make the finalized program be unreliable. I suggest use a single processor or stick with the -j2 option as the default. On my dual processor system, I stick with -j2 option through out the installation phase of Gentoo. It may take longer, but I do not mind because the computer was faster compared to my other systems that has Gentoo. I think -j3 for dual processors or -j5 for quad processors will stumble on each other toes during the compiling process.
 
Old 10-16-2007, 03:41 AM   #25
LaughingBoy
Member
 
Registered: May 2006
Location: Adelaide, South Australia
Distribution: Fedora 6-17 x64 / Ubuntu 10.x x64
Posts: 95

Rep: Reputation: 16
Arrow

Quote:
Originally Posted by Electro View Post
I think -j3 for dual processors or -j5 for quad processors will stumble on each other toes during the compiling process.
Not necessarily. Processes can be I/O bound reading and writing the many small files from disk. Thus, while one process is I/O bound, it can be pre-empted by one that has the data in RAM, ready to roll.

I've always been advised to use -j (num_cores+1)
 
Old 10-16-2007, 06:25 AM   #26
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
I am using Gentoo, so I would like one processor to do the compiling while I am doing other work.

Not all programs respect memory boundaries unless you are using a AMD64 code model then yes.

Not all programs can be safely compiled with the -j (num_cores+1) rule.

I am not in a rush to deliver a program.I rather wait patiently for a program to compile in a stable way.
 
Old 10-21-2007, 09:35 AM   #27
LauMars
Member
 
Registered: Sep 2007
Location: /root/
Distribution: Arch, CentOS, Debian, FreeBSD, Slackware, Solaris, SuSE (Open & SLES)
Posts: 115

Rep: Reputation: 25
I've been running dual processor desktop systems long before the days of multi-core CPUs and I've often notice my desktop was running faster than statistically superior CPUs on rival desktops.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
linux on multiple cores reslowgr Linux - Server 1 01-20-2007 03:35 PM
how to find number of cores in CPU narensr Linux - Hardware 5 08-24-2006 01:09 PM
Cores on Fedora jonty_11 Fedora 2 11-05-2004 09:25 AM
Problems with centrino clockspeed chichibabin Linux - Laptop and Netbook 3 02-07-2004 02:14 AM
Question : catching cores Saeven Linux - General 2 06-13-2002 04:29 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 01:33 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration