Full Multi-core Power May Require Windows Rework

Page 2 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.

cscott_it

Distinguished
Jul 30, 2009
474
0
18,810
[citation][nom]dreamphantom_1977[/nom]Whats so great about linux? I'm just curious, because I was gonna run it on my wifes laptop because her laptop is running vista with only 1 gig and it's a dog. I have a lot of customer who bring there computers in with linux and most of them have horror stories about compatibility. And i heard it's a myth about it being so secure. So I'm just curious would it be better to put windows 7 on it or try running linux?[/citation]

It's not a really myth, persay, it's the end user. My thoughts are, if you improperly configure your router and your router can get a virus (which is in the ram naturally, so resetting it removes it) then your linux distro can get a virus if you improperly configure it, have poor surfing habits, etc.

Everyone thinks that their solution is the best for everything, who knows it may be the best for everything THEY do, but it's not the best for everyone. This is true of any OS.
 

eeide

Distinguished
Oct 2, 2009
71
0
18,630
[citation][nom]dreamphantom_1977[/nom]What they need to do is work on the problem backwards. Instead of writing millions of programs to take advantage of multicore cpu's, why not write a single program to make a multi core cpu emulate a single core cpu. e.g. 4 x cpu @ 3.2ghz = 1 emulated cpu @ 12.8ghz. It probably would run slower because it's emulation, but any boost would make it worth it, especially in single threaded apps. Also consider hyperthreaded cores and new 8 core cpu's. It would be great if they could do that, but i'm not a programmer, and not even sure if it is possible. But I haven't heard of anyone trying this approach, so you never know unless you try right?Just an idea.[/citation]
Sounds good in theory, but to understand why this doesn't work takes a deeper understanding of how a CPU works and how the OS runs an application, check google lots of info there.

Your solution would still require your application to be multithreaded, because without it the OS would have to magically know how to break apart work in your application to multi processors. Work would have to be done across all the processors at the same time to give any increase in performance which would mean they would also have to be in sync which if your app was not multithreaded would mean same or worse performance.
 

dimar

Distinguished
Mar 30, 2009
1,041
63
19,360
What they need to do is work on the problem backwards.
Your solution would still require your application to be multithreaded, because without it the OS would have to magically know how to break apart work in your application to multi processors.

But what if the CPUs are installed in a sense such as RAID0 for hard drives?
I wonder if that will speed things up. The apps won't even know it.
 

knowom

Distinguished
Jan 28, 2006
782
0
18,990
[citation][nom]Shadow703793[/nom]Ummm.... because some things CAN'T be done in a parallel way![/citation] Yup exactly and one of the biggest reasons why Intel is wiping the floor with AMD clock for clock Intel is king and has been since C2D was introduced.
 

mycpumelted

Distinguished
Mar 18, 2010
12
0
18,510
It is interesting how processing power has jumped so far ahead of programming. I look forward to a future when everyday programs catch up to take advantage of all the new multicore processors.
 

cadder

Distinguished
Nov 17, 2008
1,711
1
19,865
I think the storage systems need to become multithreaded or multichannel somehow. IOW somehow read multiple things from the hard drive at one time. I realize this is a problem with only one set of read/write heads, but with SSD's maybe there could be multiple controllers addressing the same memory. The OS would have to monitor all channels so that write collisions didn't occur.

I've noticed that I can run a virus scan and do something else at the same time, as long as the something else doesn't need a lot of hard drive access, and I can't tell that the virus scan is running. But if I try to run 2 things at the same time that need a lot of disk access, then I can tell that they are competing for disk access.
 

cewhidx

Distinguished
Apr 27, 2008
150
0
18,710
[citation][nom]lcdvt[/nom]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.[/citation]

Actually yes there are. There are some of us that entertain the thought of running voip, antivirus, gadgets, aero, movies & or games, all the services that are associated with all of these, & still want to have instantanious response when we want to google something right in the middle of all that. I'ts possible, & feasable, so why not?
Just sayin....
 

kelemvor4

Distinguished
Oct 3, 2006
469
0
18,780
[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]
It can be difficult but multithreaded code can be stable if careful attention is paid to it. I used to do it in Java, although java provides some robust threading support. I've got a good C coder working for me that does a bang up job of multithreaded programming in C (not sharp).

To do that stuff right, you've got to write your own code though and not rely heavily on extensions like .not framework etc. The side benefit is that your code will be much easier to port should the need arise.
 

haze4peace

Distinguished
Mar 3, 2009
119
0
18,680
Software companies weren't sure if the multiple core trend would continue after core2duos. Now there is a race for more and more cores. Companies understand this and open source as well. Slowly more and more multi-core programs will come out, because it will become the standard technique.
 

cewhidx

Distinguished
Apr 27, 2008
150
0
18,710
[citation][nom]haze4peace[/nom]Software companies weren't sure if the multiple core trend would continue after core2duos. Now there is a race for more and more cores. Companies understand this and open source as well. Slowly more and more multi-core programs will come out, because it will become the standard technique.[/citation]

I totally agree....when we talk about new software this, & new hardware that...at the end of the day, bigger-better-faster is the way forward. Software developers know this, & will always eventually come around to take advantage of what the new hardware has to offer. It's been that way since the wheel as far as I know :p
 

daggs

Distinguished
May 12, 2009
712
0
19,010
[citation][nom]powerofpi[/nom]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.[/citation]
what makes linux kernel harder to change then windows kernel?
 

ossie

Distinguished
Aug 21, 2008
335
0
18,780
"AMD and Intel are quickly ramping up the number of cores inside our consumer level CPUs, but do we have the software chops to handle all that power?"
In the *nix world they were available for ages... for broken shards it's much more difficult.
"...the question of how to handle all that power is a concern for a certain software kernel architect" working at micro$uxx.
It can always be blown away with useless CPU cycles... Oh wait, the drm infested games loader already does it.
 

daggs

Distinguished
May 12, 2009
712
0
19,010
[citation][nom]dreamphantom_1977[/nom]Whats so great about linux? I'm just curious, because I was gonna run it on my wifes laptop because her laptop is running vista with only 1 gig and it's a dog. I have a lot of customer who bring there computers in with linux and most of them have horror stories about compatibility. And i heard it's a myth about it being so secure. So I'm just curious would it be better to put windows 7 on it or try running linux?[/citation]
first, linux is a different way of thinking then windows.
second, compatibility issue can result from two reasons, 1) users choose the wrong distro, the rule is simple: new user should get simple distro, ubuntu is an example to such one, just google it. 2) it isn't linux's fault that hardware vendors decide no to release drivers or tech specs so someone can write a driver or ship out crappy ones.
third, inheritly, linux is more secure then windows because the better file permissions in the supported fs and the way it is designed, a prime example is that you can download a virus to your linux but it will not auto run (in windows is will...) either you or another program needs to mark it as executable and run it, now if you don't run it, what program can?

on a last note, the smarted (or might I rephrase dumbest) virus there is out then resides between the keyboard and the chair, e.g. a smart man can reduce the percentage of viruses infection to about 4% on windows and a dumb man can increase the percentage of viruses infection to about 80% on a linux box.

there is your main problem.
 

Otus

Distinguished
Nov 23, 2009
29
0
18,530
It's impossible to know exactly the problems in current Windows code without being able to read it or accounts of its state, but looking at current and previous struggles in Linux can at least give an idea about it. One important refactoring drive currently underway is to remove the Big Kernel Lock for good. Issues mostly resolved include various asynchronous IO issues and threaded interrupt handling. Scheduling is maybe one of the most important issues that hasn't been well resolved IMHO.
 

Regulas

Distinguished
May 11, 2008
1,202
0
19,280
Well I came back for a look and saw the little MS trolls had been here and flagged all the positive Linux posts. They probably get Crapbox 360 points for doing it.
 

haplo602

Distinguished
Dec 4, 2007
202
0
18,680
translated: we will make a tiered scheduler, so the more cores you have, the more you have to pay for using them ... you want a good multicore scheduler ? pay extra $$
 

mayne92

Distinguished
Nov 6, 2009
743
0
18,980
[citation][nom]lcdvt[/nom]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.[/citation]
I don't think you fully understand difference between multi-core and multi-threading...lawl.
 

reklatsa

Distinguished
Sep 22, 2008
103
0
18,680
XP > Vista > 7 > All change...The train now standing on Platform 7

Already have this in OS X Snow Leopard; it's called "Grand Central Dispatch" with the OS handling all threads. Current Microsoft OS is really analogous to a modern Trimix scuba diver being given lead boots.
 

mayne92

Distinguished
Nov 6, 2009
743
0
18,980
[citation][nom]Daggs[/nom]first, linux is a different way of thinking then windows.second, compatibility issue can result from two reasons, 1) users choose the wrong distro, the rule is simple: new user should get simple distro, ubuntu is an example to such one, just google it. 2) it isn't linux's fault that hardware vendors decide no to release drivers or tech specs so someone can write a driver or ship out crappy ones.third, inheritly, linux is more secure then windows because the better file permissions in the supported fs and the way it is designed, a prime example is that you can download a virus to your linux but it will not auto run (in windows is will...) either you or another program needs to mark it as executable and run it, now if you don't run it, what program can?on a last note, the smarted (or might I rephrase dumbest) virus there is out then resides between the keyboard and the chair, e.g. a smart man can reduce the percentage of viruses infection to about 4% on windows and a dumb man can increase the percentage of viruses infection to about 80% on a linux box.there is your main problem.[/citation]
+1 Nicely put man!
 

madass

Distinguished
May 17, 2009
408
0
18,810
[citation][nom]knowom[/nom]Yup exactly and one of the biggest reasons why Intel is wiping the floor with AMD clock for clock Intel is king and has been since C2D was introduced.[/citation]

Clock for clock, yes. Cent fot cent, no. Which is why my Athlon II X4 wipes the floor with the $200 Core 2 Duo's.
 

madass

Distinguished
May 17, 2009
408
0
18,810
More importantly, yhink about hard drive tech. I can run Crysis/GTAIV/Metro 2033/(insert favourite PC kill) while doing all sorts of crap in the background, no probs. Problems occur when I, say, run EndWar while installing another game on the same partition. Loading time goes through the roof.
 

techguy911

Distinguished
Jun 8, 2007
1,075
0
19,460
I think what really has to be done is for programmers and cpu designers get together and design the stonework for parallel processing, single process os are outdated in a few years we will hit the 100 core cpu.

Computer animation and graphics programs do take advantage of all cpu and gpu power your machine can provide while multiple cores many not be advantageous in word processing or office work it does allow you to have 4 people per computer instead of each person having their own.

There is software out there that allows multiple persons to use the same computer at same time requires multiple display adapters and usb keyboards and mice.

Windows is not very efficient with multiple cores linux is used more often than any other os when used in super computers problem is windows has no competition and has no incentive to push the envelope and improve windows on a constant basis.

The thing though can multi-cpu technology be created in such a way that parallel processing is done in the cpu rather than just creating a program to do parallel processing there are a number of cpu mfg looking into this using new ideas.
 

maximiza

Distinguished
Mar 12, 2007
838
3
19,015
I agree tech guy. Linux and Windows kernals have got to be replaced with an entirely new foundation language where by default the base code is in a multi threaded multi core enviroment. The programmers won't have to and should not have to waste time allocating resoucres to what core and what thread, they can just design write and get the art form correct for their products.
 

False_Dmitry_II

Distinguished
[citation][nom]techguy911[/nom]There is software out there that allows multiple persons to use the same computer at same time requires multiple display adapters and usb keyboards and mice.[/citation]

Where the crap did you find that?

@dreamphantom_1977
That's because people are bringing stuff to you. That means that they're terrible at computers and have totally closed minds to the idea of not windows. When they tell you that there's a compatibility problem, they're saying "Man, I can't even install my iTunes!" (and yeah I've heard of people who didn't use it literally for just that reason)

Linux will absolutely run faster on that kind of hardware than vista or windows 7. It also has the fact that windows virus' obviously won't run on it. It's not like it's impenetrable but that alone will do alot. And when you want to use a certain kind of program don't think "I wanna install this program"think "I wanna install something that performs this sort of task" then find the one you think does the best job of it. For example, Rhythmbox Music Player instead of iTunes/Zune is the default on Ubuntu. Though I do have MS office on my linux install running under wine, but only because of how terrible open office is at opening word docs and whatnot.
 
Status
Not open for further replies.