Hm ok. By "throw in more hardware" you are meaning you wish to take advantage of distribution as well as concurrency. Perhaps I should have been more specific about the context of scaling I was talking about, namely, vertical. You see, while this version of the program should be able to use all the cores (which without more work, I don't guarantee), and won't exhaust resources (which is easy to prove), it also won't (and was not designed to) distribute across nodes. <div><br></div><div>For that, the next step is that you need to turn eratos into a gen server inside an OTP application... You will need to consider in the next iteration of design what parts of the processing you are distributing, what messages need to be passed between distributed nodes. This may mean some thought about how elements of the algorithm can be separated efficiently. For all the "magic" of OTP, you will likely find that what erlang is rather good at is facing you with the real problem you are trying to solve rather than to allowing you to get distracted inside "boilerplate" code.</div><div><br></div><div>When I started learning the many capabilities of Erlang, I found that as well as the documentation's manuals, Joe's book was the most helpful guide for me... http://pragprog.com/book/jaerlang/programming-erlang (which IIRC may be being updated to a new edition as I write) BTW this is not to deny the quality of other books on Erlang (e.g. I have not read LYSE), but rather that Joe's book happened to fit my approach to learning.</div><div><br></div><div>regs,</div><div>/s</div><div><div><div><br>On Saturday, January 5, 2013 9:16:30 PM UTC-6, rusi wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On Sat, Jan 5, 2013 at 9:13 PM, Steve Davis <span dir="ltr"><<a href="javascript:" target="_blank" gdf-obfuscated-mailto="qCZhBQFc_2kJ">steven.cha...@gmail.<wbr>com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
And... for fun... a refactored version that should scale and also avoid io:format:<br>
</blockquote></div><br>Thanks Steve for your efforts.<br>Now if I wanted to 'see' the scaling what do I have to do/setup?<br><br>Just for context: I am demoing this to a class of noobs (more noob than me if thats possible :D) on a 4-core laptop mostly on linux but could also use windows.<br>
<br>I suppose I could hook up another machine with a back-to-back ethernet cable.<br>Naturally I would prefer to 'scale up the scaling-up measurement'<br>ie first erlang-ecosystem methods<br>then linux processes methods<br>
then throwing more 'hard' hardware<br>
</blockquote></div></div></div>