Multi-core CPUs

Sebastian Sastre ssastre at seaswork.com
Fri Oct 26 15:05:16 UTC 2007


> -----Mensaje original-----
> De: squeak-dev-bounces at lists.squeakfoundation.org 
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org] En 
> nombre de Marcel Weiher
> Enviado el: Viernes, 26 de Octubre de 2007 01:26
> Para: peter at smalltalk.org; The general-purpose Squeak developers list
> Asunto: Re: Multi-core CPUs
...
> A couple of numbers:
> 
> - Montecito, the new dual-core Itanic has 1.72 billion transistors.
> - The ARM6 macrocell has around 35000 transistors
> - divide the two, and you will find that you could get more 
> ARM6 cores for the Montecito transistor budget than the ARM6 
> has transistors
> 
> So we can have a 35K object system with every processor 
> having its own CPU core and all message-passing being 
> asynchronous.  This is likely to be highly inefficient, with 
> most of the CPUs waiting/idle most of the time, say 99%.  
> With 1% efficiency, and say, a 200MHz clock, the effective 
> throughput would still be 200M * 35000 / 100 =  70 billion 
> instructions per second.  That's a lot of instructions.  And 
> wait what happens if we have some really parallel algorithm 
> that cranks efficiency up to 10%!
> 
> I am not saying any of these numbers are valid or that this 
> is a realistic system, but I do find the numbers of that 
> little thought experiment...interesting.  And of coures, 
> while Moore's law appears to have stoppe for cycle times, it 
> does seem to still be going for transistors per chip.
> 
> Marcel
> 
> 
> 
Marcel, as Smalltalk always shine in scaling in complexity I posted, there
in the beginning of this matter, about the different dimensions of
scalability. For the CPU, if cycle times is vertical and cores are
horizontal we are, as you suggest, entering a horizontal cpu scaling moment
(next years) mesurable with transistors per chip.

No matter wich model we choose to map the conceptual model in boolean
processors (due to holy transistors) it will have impedance mismach.

When we select a solution our trade off will necessarily be making the
choice by balancing, that impedance because of complexity, between machines,
boolean domain, and persons, conceptual domain.

Ironically, this industry made by persons has an incredible talent to make
things easier for machines at the cost of polluting the conceptual model.

Given that we can choose a path that pollute the conceptual model or not. As
I see things polluting conceptual model is a "shoot in the foot". I think
that the Smalltalk community should prioritize again the heurístic spirit of
Smalltalk by showin willing to evade the injection of pollution in the
conceptual model. Anyway it's our choice.

Regards,

Sebastian




More information about the Squeak-dev mailing list