From: MenTaLguY Date: 2007-10-04T02:39:28+09:00 Subject: Re: Recent Criticism about Ruby (Scalability, etc.) On Thu, 4 Oct 2007 01:42:22 +0900, Chad Perrin wrote: >> > That's true. However, very roughly, compute resource can scale about >> > linearly with compute requirement. >> >> What about Amdahl's law? > > What about it? Unless you're writing software that doesn't scale with > the hardware, more hardware means linear scaling, assuming bandwidth > upgrades. If bandwidth upgrades top out, you've got a bottleneck no > amount of hardware purchasing or programmer time will ever solve. Amdahl's law is relevant because most software _can't_ be written to scale entirely linearly with the hardware, because most computational problems are limited in the amount of parallelism they admit. You may have been fortunate enough to have been presented with a lot of embarrassingly parallel problems to solve, but that isn't the norm. >> > Alternatively, you can reduce the compute requirement by having a more >> > complex software system. >> >> While it's true that very simple systems can perform badly because >> they use poor algorithms and/or do not make dynamic optimizations, >> more complex software generally means increased computational >> requirements. > > I thought "complex" was a poor choice of term here, for the most part. > It was probably meant as a stand-in for "more work at streamlining > design, combined with greater code cleverness needs to scale without > throwing hardware at the problem." No argument there, as long as it's understood that there are limits to what can be achieved. I don't want to discourage anyone from seeking linear scalability as an ideal, but it's not a realistic thing to promise or assume. -mental