Skip to content

Processors-sockets-cores-CPUs

June 15, 2014

Processors, cores, CPUs

Cores

Download Good Document for  Multicore_Architecture

Cores are discrete processing elements and therefore represent a very important look at our computers. By looking at cores we can see how many independent parallel actions can be taken by the processors at one time. This is very important for understanding the scaling and capacity abilities of our computers. A computer can only truly parallelize to the extent of its “core” capacity.

Cores are hardware.  Cores are the number of processors within your physical CPU chipset.

(Multi-core processors)  This has happened within the past few years due to advances in processor manufacturing.  Prior to this we had hyper threading.  Prior to that we had only single core processors (we generically called them CPUs).

Processors were originally developed with only one core. Multi-core processors were developed in the early 2000s by Intel, AMD and others. Multicore processors may have two or more cores.

A Dual-core processor = 2 Cores.

A Quad-core processor = 4 Cores.

A Hexa-core processor = 6 Cores.

A Octo-core processor = 8 Cores.

CPU Core

Diagram of a generic dual-core processor, with CPU-local level 1 caches, and a shared, on-die level 2 cache.

 

SOCKET

 

Each socket is capable of holding one physical processor. A CPU socket or CPU slot is a mechanical component(s) that provides mechanical and electrical connections between a microprocessor and a printed circuit board (PCB).A socket is a physical connector allows a chip to be connected to a board.

What we really care about is the number of processors that are installed, as a socket could be empty.

 

A motherboard with 2 sockets can support 2 Physical processors.

 Socket-processor

 An Intel Core 2 Duo E6750 dual-core processor.

 

Solaris

 

AWR Report Header Section

Host Name Platform CPUs Cores Sockets Memory (GB)
maluserv-01 Solaris[tm] OE (64-bit) 128 16 2 127.78

 

Here CPUs = 128 are Logical/Virtual CPUs.

 

psrinfo

 

-p             Display the number of physical processors in a system. When combined with the -v option, reports additional information about each physical processor.

 

SOCKETS

 

oracle@maluserv-01 $ psrinfo -p

2

 

oracle@maluserv-01 $ psrinfo -pv

The physical processor has 64 virtual processors (0-63)

UltraSPARC-T2+ (chipid 0, clock 1165 MHz)

 

The physical processor has 64 virtual processors (64-127)

UltraSPARC-T2+ (chipid 1, clock 1165 MHz)

 

(0-63) => Indicates Multicore CPU with 8 cores each above. Each core has 8 logical/virtual cpu i.e. 8*8= 64 Virtual processors

Logical processor = virtual processor (vCPU)

From AWR above, briefly, my configuration has got 2 sockets, one physical processor on each socket (total 2 physical processors), 8 cores for each physical processor, i.e. Total 16 cores for two physical processors.

Each core has 8 virtual cpus, i.e. 16(cores) * 8(vCPU) = 128 Virtual CPUs.
 

CORES

Total Cores on System

kstat cpu_info | grep core_id | awk '{ print $2}' | uniq | wc –l
     16

 

Virtual CPUs

psrinfo |wc -l

     128

 

SQL> show parameter cpu
NAME                                 TYPE       VALUE
———————————— ———– —————————-
cpu_count                           integer     128
kstat cpu_info | egrep "cpu_info |core_id" |awk 'BEGIN { printf "%4s %4s", "CPU", "core" } /module/ { printf "\n%4s", $4 } /core_id/ { printf "%4s", $2} END {printf "\n" }'

CPU Cores
0 514
1 514
2 514
3 514
4 514
5 514
6 514
7 514
8 521
9 521
10 521
11 521
12 521
13 521
14 521
15 521
….
120 619
121 619
122 619
123 619
124 619
125 619
126 619
127 619


Linux

 

AWR Report Header Section

Host Name Platform CPUs Cores Sockets Memory (GB)
maluserv-lnx-01 Linux x86 64-bit 8 8 2 27.36

 

Briefly, my configuration has got 2 sockets, one physical processor on each socket (total 2 Physical processors), 4 cores for each physical processor, i.e. Total 8 cores for two physical processors.

Each core has 1 virtual processor. i.e. 8(cores) * 1(VP) = 8 Virtual Processor.

SOCKETS

The “physical id” will identifier for the physical CPU socket.

 

[oracle@maluserv-lnx-01 ~]$ grep "physical id" /proc/cpuinfo | sort -u
physical id     : 0
physical id     : 1

 

grep "physical id" /proc/cpuinfo | sort -u | wc -l
2

 

CORES

Cores for each Processor

[oracle@maluserv-lnx-01 ~]$ cat /proc/cpuinfo |grep "cpu cores"|uniq
cpu cores       : 4

 

[oracle@maluserv-lnx-01 ~]$ grep "cpu cores" /proc/cpuinfo |sort -u |cut -d":" -f2
 4

 

[oracle@maluserv-lnx-01 ~]$ cat /proc/cpuinfo |grep "core id"|sort -u
core id         : 0
core id         : 1
core id         : 2
core id         : 3

Total Cores for both or all physical processors

============================================

cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l
 8

 

egrep -e "core id" -e ^physical /proc/cpuinfo|xargs -l2 echo|sort –u

 

physical id : 0 core id : 0

physical id : 0 core id : 1

physical id : 0 core id : 2

physical id : 0 core id : 3

physical id : 1 core id : 0

physical id : 1 core id : 1

physical id : 1 core id : 2

physical id : 1 core id : 3

 

 

Virtual CPUs

 

[oracle@maluserv-lnx-01 ~]$ grep -c "processor" /proc/cpuinfo
8

 

[oracle@maluserv-lnx-01 ~]$ cat /proc/cpuinfo |grep processor

processor       : 0

processor       : 1

processor       : 2

processor       : 3

 

processor       : 4

processor       : 5

processor       : 6

processor       : 7

 

 

SQL> show parameter cpu
 NAME                                 TYPE       VALUE
———————————— ———– —————————-
cpu_count                           integer     8

 

Our final example is the Sun SunFire T2000 server.  The SunFire T2000 is a single socket motherboard designed to hold one UltraSparc T processor. This is a true one-way server. Each UltraSparc T processor has a single die / CPU. Each CPU contains either four, six or eight cores depending on the purchased configuration – we will use eight in our example.

Each of these eight cores has four thread handlers. In this machine we therefore see a one-way server with a single processor with a single CPU containing eight cores and a total of thirty-two simultaneous multithreads being presented to the operating system as thirty-two logical processors.

As you can see the issue of determining the number of processors, cores, CPUs, etc. is extremely difficult.

It is clear why people have become confused and why marketing is playing such a significant role in determining the public’s perceptions of these architectural components.

The most important components to keep clear are the counts for way, processor, core and logical processor (virtual processor, processing thread, execution engine, etc.)

Underlying component issues, while important to be semantically correct and to understand the working of processors, are still underlying components and should not be thought of as being the defining characteristics of our computer systems today.

 

Above Same can be Downloaded here

How Many CPU’s ?

Improving Application Efficiency Through Chip Multi-Threading

Parallel_Programming_Slides

References:

http://www.alper.net/hardware/numbers-of-cpu-cores-in-solaris-10/

http://www.cyberciti.biz/faq/linux-get-number-of-cpus-core-command/

https://blogs.oracle.com/mandalika/entry/solaris_show_me_the_cpu

http://social.technet.microsoft.com/wiki/contents/articles/1234.hyper-v-concepts-vcpu-virtual-processor.aspx

http://www.sheepguardingllama.com/2008/03/cpus-cores-and-threads-how-many-processors-do-i-have/

 

Advertisements

From → OS, Unix

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: