Re: a dozen cpu's on a chip
- From: panteltje@xxxxxxxxx
- Date: Thu, 15 May 2008 10:24:05 -0700 (PDT)
On 15 mei, 15:50, John Larkin
<jjlar...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
On Thu, 15 May 2008 09:14:43 +0100, John Devereux
Nanometer transistors are fast and free.
Actually they are not, those 80-cores will be difficult to make
(yield),
look at all the stuff IBM had to throw away with Cell, that is
why the Sony PS3 has one peripheral processor less enabled in the
Cell.
The 100% chips were too expensive,
Quit worrying about keeping
them busy so we can get past using 50-year old concepts in a
multitask,
Unix has indeed a very long history, and has pretty much matured.
The techniques work.
gigabit world. The majority of guys here are adamant that
things will never change, a pretty radical position for engineers to
take.
mm you keep sticking that in every bodies mouth, but when I asked how
you would spread a monolithic resources sucking application over 'n'
CPUs
you remained silent.
And that is one issue.
The other one you conveniently forget is that, if each core has its
own memory,
where is the overhead in moving data... sync. etc.
Newsgroups seem to attract that type.
At this moment, my PC is running 389 threads, on one CPU.
You _STILL_ do not see what is happening.
Let me try to explain, and here I will use the program 'top',
something you will get familiar with soon if you are going to use
Linux.
'Top' just type it in a terminal (xterm, rxvt), is you, on top of the
world,
looking at what happens on your system, let's do it:
Tasks: 103 total, 4 running, 99 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.7% us, 6.3% sy, 40.5% ni, 49.2% id, 0.7% wa, 0.3% hi,
1.3% si
Mem: 385964k total, 380468k used, 5496k free, 53952k
buffers
Swap: 499992k total, 536k used, 499456k free, 147596k
cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
22033 root 35 19 13684 9304 1504 R 21.5 2.4 12:16.19
mcamip
22034 root 35 19 24424 11m 1392 S 20.2 3.1 11:11.65
ffmpeg
3137 root 14 -1 77396 25m 2904 S 1.7 6.8 26:12.98
X
2940 root 18 0 3052 1468 980 S 0.3 0.4 0:42.65
sh
11984 root 15 0 2228 1120 832 R 0.3 0.3 0:00.08
top
31154 root 20 5 43864 2432 1836 R 0.3 0.6 0:04.40
xdipo
1 root 15 0 1908 648 552 S 0.0 0.2 0:00.58
init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/
0
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/
0
4 root 10 -5 0 0 0 S 0.0 0.0 0:00.11 events/
0
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.00
khelper
6 root 10 -5 0 0 0 S 0.0 0.0 0:00.00
kthread
29 root 10 -5 0 0 0 S 0.0 0.0 0:00.04 kblockd/
0
30 root 20 -5 0 0 0 S 0.0 0.0 0:00.00
kacpid
93 root 10 -5 0 0 0 S 0.0 0.0 0:00.00
kseriod
114 root 15 0 0 0 0 S 0.0 0.0 0:01.94
pdflush
115 root 10 -5 0 0 0 S 0.0 0.0 0:01.35
kswapd0
116 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 aio/
0
117 root 20 -5 0 0 0 S 0.0 0.0 0:00.00
jfsIO
118 root 20 -5 0 0 0 S 0.0 0.0 0:00.00
jfsCommit
119 root 20 -5 0 0 0 S 0.0 0.0 0:00.00
jfsSync
120 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 xfslogd/
0
121 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 xfsdatad/
0
288 root 11 -5 0 0 0 S 0.0 0.0 0:00.00
kpsmoused
292 root 10 -5 0 0 0 S 0.0 0.0 0:00.03 reiserfs/
0
367 root 20 -4 2092 844 340 S 0.0 0.2 0:01.23
udevd
Now I stopped the cut and paste here, because, as you can see, all the
lower processes use ZERO
CPU cycles, (so they sleep), only mcamip and the ffmpeg h264 encoder
use
some CPU cycles.
So would it make sense to assign all those other 102 processes to
a separate CPU core? NO, because it would only create more overhead,
as the different cores would use their own memory and now you have to
move data all the time between cores.. while doing it in task
switching
uses the same memory.
Even in the most demanding multimedia (and somebody wrote today that
with
multimedia the PC box is like a dishwasher, just a consumer
application),
would at most use 4 or 5 demanding CPU intensive threads...
The rest can and should be done in one core task switching.
This is actually what Sony does in the PS3.
And in cases where you may think: Hey I will run a webserver and
everybody who connects
gets his own CPU (Apache thread), well, with 80 cores you would very
soon get the message:
No more cores available, try later :-)
So you need the task switcher anyways,
So, as you intent to go and use Linux, the following commands you will
need to type and understand:
top
ps
netstat
route
ifconfig
vmstat
Feel free to ask me about it, there are actually thousands more.
.
- Follow-Ups:
- Re: a dozen cpu's on a chip
- From: John Larkin
- Re: a dozen cpu's on a chip
- References:
- Re: a dozen cpu's on a chip
- From: John Larkin
- Re: a dozen cpu's on a chip
- From: Martin Brown
- Re: a dozen cpu's on a chip
- From: John Larkin
- Re: a dozen cpu's on a chip
- From: Martin Brown
- Re: a dozen cpu's on a chip
- From: John Larkin
- Re: a dozen cpu's on a chip
- From: Jan Panteltje
- Re: a dozen cpu's on a chip
- From: John Larkin
- Re: a dozen cpu's on a chip
- From: John Devereux
- Re: a dozen cpu's on a chip
- From: John Larkin
- Re: a dozen cpu's on a chip
- From: John Devereux
- Re: a dozen cpu's on a chip
- From: John Larkin
- Re: a dozen cpu's on a chip
- Prev by Date: Re: 7805 replacement thingie
- Next by Date: Re: MOSFET Driver cannot drive a MOSFET? or something wrong?
- Previous by thread: Re: a dozen cpu's on a chip
- Next by thread: Re: a dozen cpu's on a chip
- Index(es):
Relevant Pages
|