<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff 
size=2></FONT><BR>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=es dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>De:</B> 
  squeak-dev-bounces@lists.squeakfoundation.org 
  [mailto:squeak-dev-bounces@lists.squeakfoundation.org] <B>En nombre de 
  </B>Peter William Lount<BR><B>Enviado el:</B> Jueves, 25 de Octubre de 2007 
  16:29<BR><B>Para:</B> The general-purpose Squeak developers 
  list<BR><B>Asunto:</B> Re: Multy-core CPUs<BR></FONT><BR></DIV>
  <DIV></DIV>Hi,<BR><BR>Sebastian Sastre wrote: 
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <META content="MSHTML 6.00.2900.3199" name=GENERATOR></BLOCKQUOTE>
  <DIV dir=ltr align=left>&nbsp;</DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV>hi,<BR><BR>What? That just won't work. Think of the memory 
    overhead.&nbsp;<BR><SPAN class=859282918-25102007><FONT face="Trebuchet MS" 
    color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>I don't give credit to unfounded apriorisms. I think it deserves to 
    be proved that does not work. Anyway let's just assume that may be too much 
    for state of the art hardware in common computers in year 2007. What about 
    in 2009? what about in 2012? Remember the attitude you had saying this now 
    the first day of 2012.</FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>It's not an unfounded apriorism as you put it. <BR><BR>Current 
  hardware and technology expected in the next ten years isn't optimized for N 
  hundred thousand or N million threads of execution. Maybe in the future that 
  will be the case. <BR><BR>The Tile-64 processor is expected to grow to about 
  4096 processors by pushing the limits of technology beyond what they are 
  today. To reach the levels you are talking about for a current Smalltalk image 
  with millions of objects each having their own thread (or process) isn't going 
  to happen anytime soon. <BR><BR>I work with real hardware.<BR><BR>I am open 
  and willing to be pleasantly surprised however.&nbsp;<BR><BR><SPAN 
  class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>Peter.. Peter.. you have to fight a little harder to that demon. Look I 
  asked you to read my previous post with subject "One Process Per Instance" 
  where I taked the time (so money) of explainly as didactic as I can how *your* 
  millon object example could be managed in a system like the one I'm 
  speculating with. So please, please Peter, I ask you not to make repeat myself 
  go read it and make your statements there if you found them. As I already said 
  I think the experiences you are&nbsp;sharing in this matter&nbsp;are precious 
  so discussion gets just richer.</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=671454420-25102007>&nbsp;</SPAN><BR></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV>Tying an object instance to a particular process makes no sense. If you 
    did that you'd likely end up with just as many dead locks and other 
    concurrency problems since you'd now have message sends to the object being 
    queued up on the processes input queue. Since processes could only process 
    on message at a time deadlocks can occur - plus all kinds of nasty problems 
    resulting from the order of messages in the queue. (There is a similar nasty 
    problem with the GUI event processing in VisualAge Smalltalk that leads to 
    very difficult to diagnose and comprehend concurrency problems). It's a rats 
    maze that's best to avoid.<BR><SPAN 
    class=859282918-25102007>&nbsp;</SPAN><BR>Besides, in some cases an object 
    with multiple threads could respond to many messages - literally - at the 
    same time given multiple cores. Why slow down the system by putting all the 
    messages into a single queue when you don't have to!?<BR><SPAN 
    class=859282918-25102007></SPAN></DIV>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>You didn't understand the model I'm talking about. 
    </FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>That is likely the case.&nbsp;<SPAN class=671454420-25102007><FONT 
  face="Trebuchet MS" color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>So I ask you</FONT>&nbsp;<FONT face="Trebuchet MS" color=#0000ff 
  size=2>kindly&nbsp;if you can read my previus emails where I where I have 
  taken the job of expresing my exploratory thoughts until reached this model 
  and&nbsp;the&nbsp;speculation&nbsp;about the existence of this model 
  (consequences). </FONT></SPAN><BR><BR><BR></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>There isn't such a thing as an object with multiple trheads. That 
    does not exists in this model. </FONT></SPAN></DIV></BLOCKQUOTE><BR>Ok. I got 
  that. <BR><BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>It does exists one process per instance no more no less. 
    </FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>I did get that. Even if you only do that logically you've got serious 
  problems.<SPAN class=671454420-25102007><FONT face="Trebuchet MS" 
  color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>If you have read where I talk about how to manage with this model N 
  millon objects with limited hardware</FONT>&nbsp;<FONT face="Trebuchet MS" 
  color=#0000ff size=2>and you still found problems please be my guest to inform 
  me here because I want to know that as soon as 
  possible.</FONT></SPAN><BR><BR><BR></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>I think you're thinking about processes and threads the same way you 
    know them today. </FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>I can easily see such a scenario working and also breaking all over 
  the place.<SPAN class=671454420-25102007><FONT face="Trebuchet MS" 
  color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>Why?</FONT>&nbsp;</SPAN><BR><BR><BR></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>Lets see if this helps you to get the idea: Desambiguation: for this 
    model I'm talking about process not as an OS process but as a VM light 
    process which we also use to call them 
  threads.</FONT></SPAN></DIV></BLOCKQUOTE><BR>Ok.<BR><BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>So I'm saying that in this model you have only one process per 
    instance but that process is not a process that can have threads belonging 
    to it. </FONT></SPAN></DIV></BLOCKQUOTE><BR>ok.<BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>That generates a hell of complexity. 
  <BR></FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>You lost me there. What complexity?<BR><SPAN 
  class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>&nbsp;</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>Does not matter is other&nbsp;model not the one I'm speculating. 
  (probably one you have imagined before clarifiying the&nbsp;1:1 object process 
  thing)</FONT>&nbsp;</SPAN><BR><BR></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>The process I'm saying it's tied to an instance it's more close to 
    the process word you know from dictionary plus what you know what an 
    instance is and with the process implemented by a VM that can balance it 
    across cores.</FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>I didn't understand. Please restate.&nbsp;<SPAN 
  class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>&nbsp;</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>I restates that N times in my previus&nbsp;emails being too 
  long.&nbsp;To give you a clue it's about the double nature I'm saying the 
  object has. An amalgam between object and process. It's conceptual 
  indissociability.&nbsp;More on those 
  previus&nbsp;emails.</FONT>&nbsp;</SPAN><BR><BR><BR></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>I'm not falling in the pitfall of start trying to parallelize code 
    automagically. This far from it. In fact I think this is better than that 
    illusion.&nbsp;Every message is guaranteed by VM to reach it's destination 
    in guaranteed order. Otherwise will be chaos. And we want an ordered chaos 
    like the one we have now in a Squeak reified 
  image.</FONT></SPAN></DIV></BLOCKQUOTE><BR>Yes, squeak is ordered chaos. ;--). 
  <BR><BR><BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>Clarified that I ask why do you think could be deadlocks? and what 
    other kind of concurrency problems do you think that will this model 
    suffer?</FONT></SPAN></DIV></BLOCKQUOTE><BR><BR>If a number of messages are 
  waiting in the input queue of a process that can only process one message at a 
  time since it's not multi-threaded then those messages are BLOCKED while in 
  the thread. Now imagine another process with messages in it's queue that are 
  also BLOCKED since they are waiting in the queue and only one message can be 
  processed at a time. Now imagine that process A and process B each have 
  messages that the other needs before it can proceed but those messages are 
  BLOCKED waiting for processing in the queues. <BR><BR>This is a real example 
  of what can happen with message queues. The order isn't guaranteed. Simple 
  concurrency solutions often have deadlock scenarios. This can occur when 
  objects must synchronize events or information. As soon as you have multiple 
  threads of execution you've got problems that need solving regardless of the 
  concurrency model in place.&nbsp;<BR><BR><SPAN class=671454420-25102007><FONT 
  face="Trebuchet MS" color=#0000ff size=2>&nbsp;But that can happen right now 
  if you give a bad use of process in a current Smalltalk. I don't want to solve 
  deadlocks for anybody using parallelism badly. I just want a Smalltalk that 
  works like todays but balancing cpu load&nbsp;across cores and scaling to an 
  arbitrary number of them. All this trhead it's about that.</FONT></SPAN><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007></SPAN><BR>Tying an object's life time 
    to the lifetime of a process doesn't make sense since there could be 
    references to the object all over the place.&nbsp;If the process quits the 
    object should still be alive IF there are still references to 
    it.<BR></DIV><SPAN class=859282918-25102007></SPAN>
    <DIV>You'd need to pass around more than references to processes. For if a 
    process has more than one object you'd not get the resolution you'd need. 
    No, passing object references around is way better.<BR><SPAN 
    class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>&nbsp;</FONT></SPAN></DIV>
    <DIV><SPAN class=859282918-25102007><SPAN class=859282918-25102007><FONT 
    face="Trebuchet MS" color=#0000ff size=2>Yes</FONT>&nbsp;<FONT 
    face="Trebuchet MS" color=#0000ff size=2>of course there will be. In this 
    system a process termination is one of two things: A) that instance is being 
    reclaimed in a garbage collection or B) that instance has been written to 
    disk in a kind of hibernation that can be reified again on 
    demand</FONT></SPAN><FONT face="Trebuchet MS"><FONT color=#0000ff><FONT 
    size=2>.<SPAN class=859282918-25102007>&nbsp;&nbsp;</SPAN><SPAN 
    class=859282918-25102007>Please refer to my previous post with subject "One 
    Process Per Instance.." where I talk more about exacly this. 
    <BR></SPAN></FONT></FONT></FONT></SPAN></DIV></BLOCKQUOTE><BR>If all there is 
  is a one object per process and one process per object - a 1 to 1 mapping then 
  yes gc would work that way but the 1 to 1 mapping isn't likely to ever happen 
  given current and future hardware prospects.&nbsp;<BR><BR><SPAN 
  class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>&nbsp;But Peter don't lower your guard on that so easy! we&nbsp;know 
  techniques to administer resources like navegating 10 thousand instances at 
  the time a 10 gigas image of 10 million objects! don't shoot hope before it 
  borns!&nbsp;I talk some details I've imagined about this in&nbsp;my "One 
  Process Per Instance" post.</FONT></SPAN><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS"><FONT 
    color=#0000ff><FONT size=2><SPAN 
    class=859282918-25102007></SPAN></FONT></FONT></FONT></SPAN><BR>Even if you 
    considered an object as having it's own "logical" process you'd get into the 
    queuing problems hinted at above.<BR><SPAN class=859282918-25102007><FONT 
    face="Trebuchet MS" color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>Which I dont see and I ask your help to understand if you still find 
    them after the clarifications made about the 
  model.</FONT></SPAN></DIV></BLOCKQUOTE><BR>See the example above. <BR><BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007></SPAN><FONT face="Trebuchet MS" 
    color=#0000ff size=2></FONT><BR>Besides objects in Smalltalk are really fine 
    grained. The notion that each object would have it's own thread would 
    require so much thread switching that no current processor could handle 
    that. It would also be a huge waste of resources.<BR></DIV><SPAN 
    class=859282918-25102007></SPAN>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>And what do you think was going out of the mouths of criticizers of 
    the initiatives like the park place team had in 1970's making a 
    Smalltalk&nbsp;with the price of the CPU's and RAM at that time? that VM's 
    are a smart efficient&nbsp;use of resources?</FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>That's not really relevant. If you want to build that please go ahead 
  - please don't let me stop you, that's the last thing I'd want. I wish you 
  luck. I get to play with current hardware and hardware that's coming down the 
  pipe such as the Tile-64 or the newest GPUs when they are available to the 
  wider market.<BR><SPAN class=671454420-25102007><FONT face="Trebuchet MS" 
  color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>We all have to use cheap hardware. Please (re)think about what I said 
  about administering hardware resources over this 
  model.</FONT>&nbsp;</SPAN><BR><BR></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>So I copy paste myself: "<SPAN class=859282918-25102007><FONT 
    face="Trebuchet MS" color=#0000ff size=2>I don't give credit to unfounded 
    apriorisms. It deserves to be proven that does not work. Anyway let's just 
    assume that may be too much for state of the art hardware in common 
    computers in year 2007. What about in 2009? what about in 
    2012?"</FONT></SPAN></FONT></SPAN></DIV></BLOCKQUOTE>
  <DIV><BR>Well just get out your calculator. There is an overhead to a thread 
  or process in bytes. Say 512 bytes per thread plus it's stack. There is the 
  number of objects. Say 1 million for a medium to small image. Now multiply 
  those and you get 1/2 gigabyte. Oh, we forgot the stack space and the memory 
  for the objects themselves. Add a multiplier for that, say 8 and you get 4 
  gigabytes. Oh, wait we forgot that the stack is kind weird since as each 
  message send that isn't to self must be an interprocess or interthread message 
  send you've got some weirdness going on let along all the thread context 
  switching for each message send that occurs. Then you've got to add more for 
  who knows what... the list could go on for quite a bit. It's just mind 
  boggling.&nbsp;<BR><SPAN class=671454420-25102007><FONT face="Trebuchet MS" 
  color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>I just can't beleive we really can't find clever ways of <SPAN 
  class=671454420-25102007><FONT face="Trebuchet MS" color=#0000ff 
  size=2>adminiter resources to the point in which this becomes 
  acceptable.&nbsp;</FONT></SPAN></FONT></SPAN></DIV>
  <DIV><SPAN class=671454420-25102007>&nbsp;</SPAN><BR>Simply put current cpu 
  architectures are simply not designed for that approach. Heck they are even 
  highly incompatible with dynamic message passing since they favor static code 
  in terms of optimizations.&nbsp;<BR><BR><SPAN class=671454420-25102007><FONT 
  face="Trebuchet MS" color=#0000ff size=2>&nbsp;Yes that happens with machines 
  based on mathematic models like the boolean model. It injects an inpedance 
  mismatch between the conceptual modeling and the virtual 
  modeling.&nbsp;</FONT></SPAN></DIV>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007></SPAN><FONT face="Trebuchet MS" 
    color=#0000ff size=2></FONT><FONT face="Trebuchet MS" color=#0000ff 
    size=2></FONT><BR>Again, one solution does not fit all problems - if it did 
    programming would be easier.<BR><SPAN class=859282918-25102007><FONT 
    face="Trebuchet MS" color=#0000ff size=2>&nbsp;</FONT></SPAN></DIV>
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>But programming should have to be easier. 
  </FONT></SPAN></DIV></BLOCKQUOTE>Yes, I concur, whenever it's possible to do 
  so. But it also shouldn't ignore the hard problems either. <BR><BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>Smalltalk made it easier in a lot of aspects. 
  </FONT></SPAN></DIV></BLOCKQUOTE><BR>Sure I concur. That's why I am working 
  here in this group spending time (is money) on these emails. <BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>Listen.. I'm not a naif silver bullet purchaser nor a faithful 
    person. I'm a critic Smalltalker that thinks he gets the point about OOP and 
    tries to find solutions to surpass the multicore crisis by getting an 
    empowered system not consoling itself with a weaker one. </FONT></SPAN><SPAN 
    class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2><BR></FONT></SPAN></DIV></BLOCKQUOTE><BR>I do get that about you. 
  <BR><BR><BR>
  <BLOCKQUOTE 
  cite=mid:!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAx5oTyKKcHEiH5jLobrYqEMKAAAAQAAAAhozPTNvTZUy+TpA5+5MBtAEAAAAA@seaswork.com 
  type="cite">
    <DIV><SPAN class=859282918-25102007><FONT face="Trebuchet MS" color=#0000ff 
    size=2>Peter please try to forget about how systems are made and think in 
    how you want to make them.</FONT></SPAN></DIV></BLOCKQUOTE><FONT 
  color=#0000ff><FONT size=2><FONT face="Trebuchet MS">
  <DIV><BR></FONT></FONT></FONT>I do think about how I want to make them. 
  However to make them I have no choice but to consider how to actually build 
  them using existing technologies and the coming future technologies. 
  <BR><BR>Currently we have 2-core and 4-core processors as the mainstream with 
  3-core and 8-core coming to a computer store near you. We have the current 
  crop of GPUs from NVidia that have 128 processing units that can be programmed 
  in a variant of C for some general purpose program tasks using a SIMD (single 
  instruction multiple data) format - very useful for those number crunching 
  applications like graphics, cryptology and numeric analysis to name just a 
  few. We also have the general purpose networked Tile-64 coming - lots of 
  general purpose compute power with an equal amount of scalable networked IO 
  power - very impressive. Intel even has a prototype with 80-cores that is 
  similar. Intel also has it's awesomely impressive Itanium processor with 
  instruction level parallelism as well as multiple cores - just wait till 
  that's a 128 core beastie. Please there is hardware that we likely don't know 
  about or that hasn't been invented yet. Please bring it on!!!<BR><BR>The 
  bigger problem is that in order to build real systems I need to think about 
  how they are constructed. <BR><BR>So yes, I want easy parallel computing but 
  it's just a harsh reality that concurrency, synchronization, distributed 
  processing, and other advanced topics are not always easy or possible to 
  simplify as much as we try to want them to be. That is the nature of 
  computers. <BR><BR>Sorry for being a visionary-realist. Sorry if I've sounded 
  like the critic. I don't mean to be the critic that kills your dreams - if 
  I've done that I apologize. I've simply meant to be the realist who informs 
  the visionary that certain adjustments are needed.<BR><BR>All the 
  best,<BR><BR>Peter<BR><BR><SPAN class=671454420-25102007><FONT 
  face="Trebuchet MS" color=#0000ff size=2>&nbsp;Please take your time to 
  think&nbsp;about what I've stated of administering resources being possible to 
  manage load of millions of instances by a swarm of a few at the time. And 
  don't be sorry of anything. I love criticism. Our culture need tons of 
  criticism to be stronger. It's the only way we can unistall deprecated or 
  obsolete ideas. You are helping here. If I really dreaming an this don't work 
  I want that dream to be kill now so I can spend my time in something better. 
  That helps. </FONT></SPAN></DIV><SPAN class=671454420-25102007><FONT 
  face="Trebuchet MS" color=#0000ff size=2></FONT></SPAN></BLOCKQUOTE>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px"><SPAN 
  class=671454420-25102007></SPAN>
  <DIV><SPAN class=671454420-25102007></SPAN><FONT face="Trebuchet MS"><FONT 
  color=#0000ff><FONT size=2><SPAN 
  class=671454420-25102007>&nbsp;By&nbsp;</SPAN><SPAN class=671454420-25102007> 
  now this model&nbsp;it's just getting stronger.&nbsp;Please try to get it down 
  !!!&nbsp;&nbsp; :)))</SPAN></FONT></FONT></FONT></DIV>
  <DIV><FONT face="Trebuchet MS"><FONT color=#0000ff><FONT size=2><SPAN 
  class=671454420-25102007></SPAN></FONT></FONT></FONT>&nbsp;</DIV>
  <DIV><FONT face="Trebuchet MS"><FONT color=#0000ff><FONT size=2><SPAN 
  class=671454420-25102007>&nbsp;&nbsp;&nbsp; 
  cheers,</SPAN></FONT></FONT></FONT></DIV>
  <DIV><FONT face="Trebuchet MS"><FONT color=#0000ff><FONT size=2><SPAN 
  class=671454420-25102007></SPAN></FONT></FONT></FONT>&nbsp;</DIV>
  <DIV><FONT face="Trebuchet MS"><FONT color=#0000ff><FONT size=2><SPAN 
  class=671454420-25102007>Sebastian&nbsp;</SPAN></FONT></FONT></FONT><BR></DIV></BLOCKQUOTE></BODY></HTML>