On 7 May 2011 07:25, Michael Haupt <mhaupt@gmail.com> wrote:
Hi Igor,
Am 07.05.2011 um 02:06 schrieb Igor Stasenko <siguctua@gmail.com>:
Heh.. then we're 99% done. Except that this last 1% is still could take years to complete :)
you serious? Making a Smalltalk image thread-safe is that hard?
I can tell you more: there is no business cases for VM(s) which can do manycore :) At least, to my perception, there is not much pressure from people (even on mainstream languages) to leverage this technology.
What market are you talking about? There are lots and lots of customers of certain big database/appliance vendors that would loudly protest had the stuff they bought no inherent support for parallel execution.
So, where those customers to sponsor development of VM(s) they need so much?
I thought it is very close to come into our houses, but no.. it stuck somewhere on marketplace, buying a better clothes.
And now it's arrived in tablets already. It's your problem if you leave your iPad lying around *outside* your house. ;-)
I am not talking about hardware, i'm talking about software. It is largely not using parallelism, or using it wrong.
Implementing VM which enabling massive parallelism is just a beginning. Then obviously you need do to a lot at language side to leverage that, in order to really say "yes, our system(s) are aware of multicore and can scale almost linearly in future".
And do not forget the most important thing: people must be educated to program for parallelism. The computing power is there to be exploited, but programmers need to know how to exploit it. You can't rely on the compiler or VM alone.
That's the main problem, IMO. Most smalltalkers i met (oh.. why.. not just smalltalkers), fear parallelism like fire. Refer to it as something too complex they can't understand. And i think that's why "Parallelism to masses" approach is largely failing , not just in smalltalk, but in whole software industry.
Now, given that squeak's code a hugely non-thread-safe, imagine how many iterations in redesign it would take to make it thread-safe first, and then make it run in parallel with rest of the stuff.
Is it really *that* hard or is this just FUD?
Its not that hard. But if you take the previous paragraph into account...
Best, Michael
-- Best regards, Igor Stasenko AKA sig.