The Register® — Biting the hand that feeds IT

Feeds

Multi-threaded development joins Gates as yesterday's man

Knuth and Bray call time

Agentless Backup is Not a Myth

When he wasn’t ruminating at this week’s TechEd on the “millions” of servers running Microsoft’s planned on-demand services, Bill Gates was talking about how to architect software to take advantage of powerful “transistors” in massive server farms.

Applications - like, for example, Microsoft’s BizTalk Server and SQL Server that the company is talking about making available as on-demand services - will need to be broken down into “parallel execution units”, Gates said.

“We have an incredible amount of work at Microsoft to make the runtimes higher level, and to make it easy to take your code and write it in this parallel fashion. There will be a lot of discussion about this so-called 'multi-core' revolution in how we make sure we're all doing the best to take advantage of that,” Gates said. It was his last bout of TechEd crystal-ball gazing before stepping down from day-to-day responsibilities as Microsoft chairman next month.

The rub

Devising new approaches to building software and educating programmers to cope with parallel processing is causing concern, though, and has prompted software heavyweights to join the debate. Before Gates took the stage in Orlando, Florida, programming pioneer Don Knuth and XML architect Tim Bray raised doubts about multi-threading - one of the main programming techniques for multi-core systems.

While multiple processor systems have been around for decades they have usually been associated with specialist systems - such as Cray's supercomputers. During the 1980s the UK company Inmos set out to build a commercial parallel processing chip with its transputer but it failed.

Continuing commercial pressure and improving processor power have revived multiple processor architectures, bringing them into the mainstream. Chip makers have argued that, as chip fabrication techniques reach physical limits and Moore's Law becomes obsolete, one way to get more power from hardware is from innovations in architecture. The simplest way to achieve more power is to increase the number of processors with multi-core chips, clusters of processors or networked grids.

But multiple processor architectures introduce a new class of programming problem. Writing software to get the best performance from multiple-processor systems is far from straightforward. Issues such as synchronization, load balancing, memory protection and task distribution place new demands on programmers and those building tools that are used by developers.

Bill Gates in Microsoft last day video

Gates grapples with parallel computing

There is clear evidence that the industry is aware of the problem. Although Intel estimates that only one in a hundred programmers has any experience of programming multiple processor systems, an informal poll of around 1,200 programmers last year showed that most were aware of the need to approach programming in a different way.

Chip builders have concentrated on the use of multi threading. Intel, for example, has invested heavily in multi-threading technology with its thread building blocks (TBB) library extensions to C++.

But the validity of multi threading is under attack. Veteran programmer Knuth said in a recent interview that multi threading may not be up to the task and could fail. As such, he is "unhappy" with the current trend towards multi-core architectures.

Regcast training : Hyper-V 3.0, VM high availability and disaster recovery

Latest Comments
Anonymous Coward

Horses for courses

Even in the 80s there were many ways to make parallel program tasks.

On the hardware side people were building grids/nets/arrays of processors, typically using shared memory or message passing. The 8086 had atomic exchange instructions, for example. The CISC had pipeline instruction decoding. People considered having a processor for each pixel (or small group of pixels) on a graphics card.

On the software side, you had:

pipelines: each stage of a problem ran on a different process,

data-flow: like a spread-sheet intermediate results could be calculated in parallel: consider (a + b) * (c + d) - 'a + b' and 'c + d' can be done in parallel,

monitors: protection of a shared resource with queues,

computer graphic films/movies had server farms to render the images to be recorded on photographic film - NeXT Zilla.

The low-level semaphores always seemed to have problems with deadlock/deadly-embrace - the programmer would lock something but forget to unlock it - two processes would need the same two resources but one would lock A first and wait for B while the other would the lock B first and wait for A

0
0

I Am a Crank and Proud of It

Yo, Cloudberry,

I am a crank and a crackpot. I say so on my blog. Click on the link, "Who Am I?".

0
0

@Savain

Either you're a very, very good windup artist, or a common crank.

http://en.wikipedia.org/wiki/Crank_(person) :

...

And in a 1998 UseNet post, the mathematician John Baez humorously proposed a "checklist", the Crackpot index, intended to "diagnose" cranky beliefs regarding contemporary physics.[2]

According to these authors, virtually universal characteristics of cranks include:

1. Cranks overestimate their own knowledge and ability, and underestimate that of acknowledged experts.

2. Cranks insist that their alleged discoveries are urgently important.

3. Cranks rarely if ever acknowledge any error, no matter how trivial.

4. Cranks love to talk about their own beliefs, often in inappropriate social situations, but they tend to be bad listeners, and often appear to be uninterested in anyone else's experience or opinions.

...

Some cranks claim vast knowledge of any relevant literature, while others claim that familiarity with previous work is entirely unnecessary; regardless, cranks inevitably reveal that whether or not they believe themselves to be knowledgeable concerning relevant matters of fact, mainstream opinion, or previous work, they are not in fact well-informed concerning the topic of their belief.

In addition, many cranks

1. seriously misunderstand the mainstream opinion to which they believe that they are objecting,

2. stress that they have been working out their ideas for many decades, and claim that this fact alone entails that their belief cannot be dismissed as resting upon some simple error,

3. compare themselves with Galileo or Copernicus, implying that the mere unpopularity of some belief is in itself evidence of plausibility,

4. claim that their ideas are being suppressed by secret intelligence organizations, mainstream science, powerful business interests, or other groups which, they allege, are terrified by the possibility of their allegedly revolutionary insights becoming widely known,

5. appear to regard themselves as persons of unique historical importance.

0
0

More from The Register

Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Apple: iOS7 dayglo Barbie makeover is UNFINISHED - report
Plus: You don't like the icons? Blame marketing
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry