Re: thread issue
Thanks for correct some concepts here.
On Thu, Aug 4, 2011 at 10:47 PM, Stan Hoeppner <firstname.lastname@example.org> wrote:
> On 8/4/2011 8:12 AM, lina wrote:
>> I noticed when make -j 8, the 8 cores can be fully occupied.
>> can I use some way to enable 8 cores at the same time when I run
>> something, such as a bash script?
> This will fully answer your question, and then some:
> Multiprocessing has been around for many decades as well as the methods
> to program for it. Most regular users simply never heard of it because
> only "business" machines had more than one processor. A dual, quad, 6,
> 8, or 12 core CPU is simply a multiprocessor computer where all the
> processing units fit on a single chip, instead of many chips as in
> decades past. From a programming standpoint, there is little difference
> from a 1980s multiprocessor UNIX machine and today's 8 core desktop.
> The term "processor" is used by systems programmers, not "core". "Core"
> is a marketing term of CPU companies. A "core" is a "processor". A
> chip is NOT a processor unless it only has one core. Get used to this
> terminology when discussing programming. The term "core" does not exist
> in programming. It is a hardware description, not a software
> description. To the kernel, a "core" is a processor.
> The short short answer: The Linux process scheduler will efficiently
> place processes and threads on hundreds of CPU cores for execution. It
> is up to the programmer, sometimes the sysadmin or user, to generate the
> processes and threads, i.e. "the workload", necessary to occupy all
> processors in a machine. If there is insufficient work to occupy all
> the processors, they will simply sit idle.
> 1. Write an application or script that forks or spawns a number of
> processes equal to or greater than the number of processors (CPU cores)
> in the system. This is what 'make -j[x]' gives you when x is equal to
> or greater than the number of CPU cores. Postfix spawns multiple smtpd
> and smtp processes for inbound/outbound mail delivery, allowing
> scalability across dozens of cores (although mail is rarely CPU bound).
> The Apache web server forks dozens or hundreds of children allowing
> multiprocessor scalability. These are but two examples of applications
> that can take advantage of a multiprocessor system. Yes, a single CPU
> with many cores is a "multiprocessor".
> 2. Write an application that uses POSIX or Linux threads, creating one
> thread per CPU core in the machine.
> To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact email@example.com
> Archive: 4E3AB117.firstname.lastname@example.org">http://lists.debian.org/4E3AB117.email@example.com