Full Multi-core Power May Require Windows Rework

Status
Not open for further replies.

powerofpi

Distinguished
Apr 9, 2010
8
0
18,510
Forget the Windows Kernel; I would like to see the Linux kernel get more and more parallel! I feel sorry for kernel developers as they begin to parallelize their code... their life is going to get increasingly complex.
 

cryogenic

Distinguished
Jul 10, 2006
449
1
18,780
http://www.barrelfish.org/

Microsoft is already working on it, and it's a multikernel OS, basically lots of small kernels that run collaboratively on different hardware nodes (like NUMA nodes) instead of the classical approach of one kernel running on multiple NUMA nodes at once.
 

lcdvt

Distinguished
Apr 1, 2010
8
0
18,510
Are there realy eight or twelve tasks in the home OS that all need attention at the same time at 3 GHz? I don't think so! Application and game developers will need to find ways to use the CPU's full potential, not kernel developers.
 

werfu

Distinguished
Sep 27, 2008
54
0
18,630
The problem is that most modern language dont cope well with parallel paradigms. You need the OS support for it, like threads. We need language built parallel iterators and syncing. In short: new program flow structure that support parallelism.
 
G

Guest

Guest
Anybody who ever has attempted multithreaded code in Windows knows that stability goes out the window the minute you start adding more threads that actually require synchronization. It's pretty terrible TBH. Not to mention, the performance gains aren't always what you'd hope for either.
 

lcdvt

Distinguished
Apr 1, 2010
8
0
18,510
[citation][nom]multithreaded_doT_net_dev[/nom]Anybody who ever has attempted multithreaded code in Windows knows that stability goes out the window the minute you start adding more threads that actually require synchronization. It's pretty terrible TBH. Not to mention, the performance gains aren't always what you'd hope for either.[/citation]

My advice, is misuse the message pump to stabilize your application. Create hidden windows and send windows messages between threads. It isn't pretty, but it always works.
 
G

Guest

Guest
where is those long promised graphene super speedy cpu's we are all waiting for not these crappy multitreads @1.2 Ghz? He-he gm:)
 
G

Guest

Guest
We will continue to wait for those advert programs to load holding up internet sites no matter how many cores we have
 

greenprince

Distinguished
Mar 19, 2010
7
0
18,510
that's right. If you using office doc program. you may not gain much benefit for that. But if you a 3d artist. then you can use the HUGH benefit for more core as they can make. Now i am using i7 which is 8 threat. when i render my model. i got 8 node to render a the same time. and i only in one computer. eventually it is faster than i running 4 core 2 duo desktop to render in network farm. the time they send message to each desktop then back to the main desktop. it took a while.
By the way. I understand it's hard for windows system to make better from the improvement of original windows every revolution. Maybe it's more easy to start from sketch to write a new operation system...Maybe call "Doors 10" :D
 
Mainframes struggle enough with this but have the benefit of decades of development in this area unlike little old windows. We could have had this long ago had dual socket platforms had seen more wide spread use in the office and home but here we are. Shame even the BBC had dual cpu micros back when people were still using 8080s and Z80s before the Amiga 500 came out. The best way they could do this is look to the supercomputing sector and license code from other developers.
 
[citation][nom]lcdvt[/nom]Shouldn't Kernel developers be busy, with using no CPU ticks what so ever![/citation]
You mean CUDA/Stream? If so, realize that most of the normal x86 ops used by the CPU will not run very well on GPU. What GPUs really rock at is crunching raw numbers.
 

kdashjl

Distinguished
Mar 26, 2010
56
0
18,630
[citation][nom]Cryogenic[/nom]http://www.barrelfish.org/ Microsoft is already working on it, and it's a multikernel OS, basically lots of small kernels that run collaboratively on different hardware nodes (like NUMA nodes) instead of the classical approach of one kernel running on multiple NUMA nodes at once.[/citation]
interesting i wish they succed
 

mados123

Distinguished
May 19, 2009
25
0
18,530
[citation][nom]Cryogenic[/nom]http://www.barrelfish.org/ Microsoft is already working on it, and it's a multikernel OS, basically lots of small kernels that run collaboratively on different hardware nodes (like NUMA nodes) instead of the classical approach of one kernel running on multiple NUMA nodes at once.[/citation]
Why is it that OS design isn't focusing more so on utilizing GPU parallel processing (as seen w/ NVIDIA's CUDA) since there already are 16-800 cores available w/NVIDIA and ATI's products)?
 

LORD_ORION

Distinguished
Sep 12, 2007
814
0
18,980
This gets solved in Visual Studio 2012. Yes, the hardware came first and the software must be made to take advantage of it. Nothing to see here, move along.
 

bdcrlsn

Distinguished
Dec 31, 2007
436
55
18,890


Because 90% of people who use PC's don't have discreet GPU's in their machines.
 

ohim

Distinguished
Feb 10, 2009
1,195
0
19,360
[citation][nom]regulas[/nom]"but do we have the software chops to handle all that power?" Yeah, it's called Linux.[/citation]
that`s why benchmarks made cross platform between linux and windows on certain aplications look alike ? Linux is great for some stuff but still try to keep the enthusiasm for yourself.
 

danspd

Distinguished
Feb 24, 2010
24
0
18,510
The problem, Probert believes, is that software still isn't being written to best take advantage of all the hardware that'd we've been running in our systems for years now.

Yes! I totally agree with him. Haven't you guys had a question "Does my hardware sucks that much or just software developers are old style?".

I totally agree that hardware isn't a problem, software is.
 

eeide

Distinguished
Oct 2, 2009
71
0
18,630
[citation][nom]lcdvt[/nom]My advice, is misuse the message pump to stabilize your application. Create hidden windows and send windows messages between threads. It isn't pretty, but it always works.[/citation]

That's horrible advice. Good multithreaded apps can be written. I have coded some very stable multithreaded apps. It just requires good architecture and recognizing what pieces should be multithreaded. C# 4.0 makes parallelism even easier. Although if you were relying on using the built in .NET ThreadPool then you probably shouldn't have tried multithreading.
 
Status
Not open for further replies.