Per Jessen said the following on 03/20/2010 05:00 PM:
Anton Aylward wrote:
Due to the multi-cores, we're probably at the threshold of an era with an entirely new set of program bugs.
Multiple execution units are nothing new - they date back at least 20 years. I started writing multi-threaded code for IBM 3090s around 89/90. The multi execution unit boxes have been perfectly common in servers since then.
Its not the people like thee and mee that I'm worried about. For the most part, its not even the people developing for Linux Its the numbers out there. For every one of us that have the experience you speak of there are ... Thousands of PC programmers who never really mastered dBase, pascal and other first generation languages who are now producing code for web sites. I recently met some web application programmers who didn't understand what I meant when I described a web site as a 'state machine'; other who didn't understand that they were dealing with a connectionless protocol. When I look to what tools there are, and then I look the to the tens of thousands of development tools that have nothing to do with threading ... I think the marketplace has a lot of catching up to do. When I look to the changes to the scheduling code that Linux has seen this last couple of years ... and I think about what was used in MUMPS and even VAX/VMS ... I wonder how much and how quickly we do learn from the past. And I wonder how much opportunity people like Per and myself have for 'mentoring'. In the 1970s I was working with SMP machines that not only were completely asynchronous but also did dynamic load balancing as processor failed or were replaced. In the 1980s I worked with Sequent machines that had libraries that allowed many of the program we currently think of as single threaded to be balanced across multiple processors - dynamically. In the 1990s I worked with database systems that used large shared memory segments and multiple dynamically created (short lived) processes (you can tell it wasn't Oracle!) to deal with various tasks like before and after imaging, queries and connections. In doing so they created many 'threads' using a more conventional model. I worked on SCADA systems using single-stack, mutli-threaded FORTH. Where is all this now? Oh, its there. I see it in some real-time work. But a lot of it seems to have been lost. I don't see the 'progression'. But how multi-threaded is your smart-phone? And then there are the people that think security is just about breaking in ... -- "What we have learned from others becomes our own by reflection". -- Ralph Waldo Emerson -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org