BetaONE will rise again!


Reply
  #1  
Old 27th Oct 05, 11:44 PM
Alpine's Avatar
Alpine Alpine is offline
Retired Crew
 
Join Date: Feb 2002
Location: Run Forest, RUN!!
Posts: 3,601
Alpine is on a distinguished road
Send a message via ICQ to Alpine Send a message via AIM to Alpine
M$ says multicores no good without software threading
Kicks off FPF day two with a big problem

DAY TWO OF MPF was kicked off by Herb Sutter of Microsoft talking about software and how to deal with the trends of current hardware. Massively multicore CPUs need massively multicore aware software and tools. One without the other doesn't get you far, and both sides seem to realise this.


The main problem is that the state of concurrency in modern software is pretty poor. Single threaded software is going to benefit almost nothing from the up and coming trends in software, 10,000 cores will not speed up a single threaded app. To get more speed, you need an advance much more profound than current out of object oriented programming. You need to get past locks.

On the server side, no problem. If you have 1000 people hitting your web server and can dedicate a core to each, things will positively fly. If you have a game that has a single critical thread, you are going to get some pretty lame frames d00d.

If you do manage to get you feet wet in massively multithreading programs, you have the harder problem of massively multithreaded debugging to deal with. Herb Sutter is pushing for hardware designers to think more about programmability of their new designs. If you come out with something that has 256 cores and runs billions of benchmarks/sec, great, but if you can't program it, you have a very high complexity doorstop. To get around this, you need concurrency in programming languages and paradigms, and you need new abstractions.

There are three problems that this may help with. Free threading is the first, where you can make threads and do whatever you want. You need a higher level of abstraction and to not explicitly define threads. Then there is mutable shared state, a world without locks. Locks can cause problems that may not show up for generations of hardware, and are just about impossible to test for. Last is that there are no languages not considered experimental. No languages means no real ability to write software.

So, what do you do? Start out with apps that have lots of concurrency at every level. Not that all problems can be broken down, but if you set out to write more concurrency in from the start, you end up with more at the end. Then you write apps that don't have threads explicitly designed, but more threads spawned when they are needed by the software. Last you need tools that help you do this. It may seem like a 'no, really?' situation, but until people start making the tools, people who don't want to write the tools can't use those tools. There is a lot of work to be done, and Microsoft, amongst a host of others, both in academia and industry are working hard on it. There are a ton of ideas and projects, but no clear winner here yet. In this case, hardware designers can help by making things easier to program. Together, we will get there eventually.

The INQuirer
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is On
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Windows Genuine Advantage 1.0 Goes Live Alpine BetaONE News 1 27th Jul 05 02:48 PM
Gates: Microsoft Will Build Interoperable Software By Design NewsBot NeoWin News 0 4th Feb 05 05:00 PM
Chinese Goverment to Limit Foreign Software Use NewsBot NeoWin News 0 27th Nov 04 07:00 AM
Microsoft Sharpens Its Software Factory Vision NewsBot NeoWin News 0 27th Oct 04 05:30 PM


All times are GMT +1. The time now is 06:57 PM.


Design by Vjacheslav Trushkin for phpBBStyles.com.
Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.