Stuff The Internet Says On Scalability For May 24, 2013

Hey, it's HighScalability time:


(Scaling the Mighty Redwood photograph by Michael Nichols for NatGEO)

  • ~20K : Netflix AWS instances; 100 million hours per minute: Youtube video upload;
  • Quotable Quotes:
    • @sw17ch: Computer Science is thinking about thinking. Software Engineering is thinking about how to avoid thinking.
    • @neha: I am starting a distributed systems reading group at MIT. Suggestions on papers to read? Current list here.
    • John Sheehan: Services are the new process
    • @cheeseplus: Sharding isn’t a scalability strategy, it’s a failure mode in progress.
    • @basharatw: @adrianco Features in days, not months; hw in mins not weeks; incident response in secs not hours … there's a trade off for utopia #gluecon
    • @mgroeninger: @johnsheehan now telling a story about struggling against tools... quit to build a better hammer #gluecon < this is the heart of devops
    • @mgroeninger: @adrianco Netflix had to get into the CDN space, but did it in a distributed manner with OpenConnect - incremental cost #gluecon
    • @aneel: "you really have to do a reorg to do devops and you really have to do a reorg to do cloud-native" - @adrianco #gluecon
    • @waynewalls: Netflix uses a multi-DNS solution:  Route53, Ultra, Dyn. This is to route around failures, the "cloud of broken streams." @adrianco #gluecon
    • @mgroeninger: @adrianco cost reduction slows developers down, leads to death spiral of cost reduction #gluecon
    • @chrismatthieu: Nice pros and cons list of google cloud offering by @adrianco #gluecon pic.twitter.com/aINRD6WyMi
    • @voodoogeek: scalability. why is it so hard to understand? and please please do NOT tell me it was not foreseeable and the usual BS.
    • @joestump: Celery's queue routing key stuff is pretty swanky. If you don't need low latency messaging, highly recommend celery + SQS. 0 maintenance.

  • There are more kinds of programming in heaven and earth than are dreamt of in your data structure books...Cell-Based Computing Goes Analog: designing circuits in Escherichia coli that could perform functions based on a range of inputs, much like the temperature gauge on a thermostat. Specifically, the circuits were sensitive to levels of sugar arabinose or acyl homoserine lactone.

  • Startups are the new intentional communities attempting to do right by hacking human nature and founding a utopia. To see this in action take a look at Why I Spent 200 Hours Writing Culture Code Instead of Python Code. A Walden 3.0?

  • Horst Simon on Why we need Exascale and why we won’t get there by 2020: You could say that the end of the HPC world as we know it began in 2004, when we hit the inflection point of power use and clock speed. That’s when we realized that we could not keep increasing clock speed due to power demands (and heat), but needed to move to much greater parallelism. In “new” HPC, power is the primary design constraint for future HPC system design; data movement dominates costs, so we need to optimize to minimize data movement; to increase concurrency we look to exponential growth of parallelism within chips. This “new” reality fundamentally breaks our current programming paradigm and computing ecosystem.

  • Braden Kowitz on shortening the design cycle: rather than build big, complete products that take a lot of time and money, start with something very simple and test it, then iterate quickly. This approach lets you generate and test lots of ideas, but be quick to throw away the ones that aren’t working.

  • Hundreds and hundreds of video are now available for Google I/O. An amazing level of information production. If only I had an AI to make sense of it.

  • And this is the dark side...Google, once the cheerleader of the open web, is rapidly turning its back on every single open standard they once championed.

  • Peter Bailis on Communication costs in real-world networks: Network latencies in the wild can be expensive, especially at the tail and across datacenters: how bad are they, and what can we do about them? 

  • Canada doesn't seem to understand software. Canadian Investor Groups Ready and Eager to Drive Economic Growth through the new Start-Up Visa. Programmers don't need VC money to get started. If you really want traction remove the friction of required VCs relationships.

  • Sounds like GlueConners are having a great time. Launch Any has an awesome notes hub for various sessions along with slide deck links. There's also a pinboard tag set here.

  • Justin Dorfman creates a benchmark showing S3 is not a CDN, it's a storage service, not a delivery service.

  • May these 10 rules for covert CIA operations guide your way on: Assume nothing; Never go against your gut; Everyone is potentially under opposition control; Don't look back, you are never completely alone; Go with the flow, blend in; Vary your pattern and stay within your cover; Lull them into a sense of complacency; Don't harass the opposition; Pick the time and place for action; Keep your options open.

  • Greg Linden: Bing found that every 100ms faster they deliver search result pages to searchers yields 0.6% more in revenue (which is a similar result to an old Amazon test). 

  • Interesting ACM interview wit Google's Sanjay Ghemawat: ."...It kind of goes against something people often say which is 'don’t reinvent the wheel', but sometimes if you are having problems with your wheel you have to step back and think about how do I fix the problem, and sometimes reinventing the wheel is the right thing to do...." 

  • How We Built eBay’s First Node.js Application. eBay is a JVM shop so when a a Talk app used more resources than expected they thought it would be a good Node experiment. After initial concerns they consensus was positive, especially on performance.

  • Good and short Basics of Database Sharding by Jeremiah Peschka. Scalingup of works for 4x to 40x. What if you need to handle 40x more writes?

  • Excellent introduction into Real-time communication with WebRTC: Google I/O 2013. One thing is that P2P links aren't the lowest latency links as you have no idea of the route packets take. An overlay network on top of WebRTC could boost performance.

  • How many IOPS can a HDD, HHDD or SSD do?: IOPS vary by changing the percent of reads, writes, random and sequential for a 4K (4,096 bytes or 4 KBytes) IO size with each test step (4 minutes each).

  • Steve Murawski at Server Fault on the virtues of Windows Server 2012. Improved clustering support, SMB3 fixes file share performance problems; there's now a GUIless shell option.

  • Why is diversity so important? Read up on the Capcitor plague. A simple attack vector would be to make a part so attractive that it gets sourced everywhere and then have that part blow up. Disaster.

  • Want To Destroy Any Hope Of Serious Cybersecurity? Give The DOJ Its Desired Backdoor Wiretaps On All Communications. Amen. Any backdoor is a breach for anyone to go once more into.

  • Mixpanel moved from Erlang to Python because the Erlang code became difficult to maintain and a lack of Erlang expertise made problems difficult to debug and fix. The Python version was able to support "1000-1200 requests per second (on a single core), with a latency of almost always less than 100 milliseconds." 

  • An Inside Look at Type Ahead Search in Evernote: When a user begins typing in the search box, the Suggestion Retrieval system first determines the set of notes that fall within the user’s context, the combination of notebook and tags inside which the user is currently searching. It then looks up the search query prefix in the suggestion index, which yields a set of completions for that prefix. Finally, it filters out any completions that do not fall within the contextual notes. Next, every suggestion is scored and ranked for relevance by a custom formula.

  • What do we do with all these fast emptying big box stores? I've thought of housing or perhaps shared community green house space. Here's an interesting option: Sears is Turning Shuttered Stores into Data Centers. Look for the special deals on rack 9876.

  • Ah, the sweet smell of competition: Reducing Google App Engine High Replication Datastore prices by up to 25%Amazon DynamoDB Announces Parallel Scan and Lower-Cost Reads.

  • This could make a difference...Google may chuck Spanner into Datastore: Google may make its globally-distributed Spanner database available as a cloud service as the company tries to let developers fiddle with its innards.

  • Pinocchio: Nearly Practical Verifiable Computation: Pinocchio's verification time is typically 10ms: 5-7 orders of magnitude less than previous work; indeed Pinocchio is the first general-purpose system to demonstrate verification cheaper than native execution (for some apps).

  • Direct GPU/FPGA Communication Via PCI Express: We describe a mechanism for connecting GPU and FPGA devices directly via the PCI Express bus, enabling the transfer of data between these heterogeneous computing units without the intermediate use of system memory. We evaluate the performance benefits of this approach over a range of transfer sizes, and demonstrate its utility in a computer vision application. We find that bypassing system memory yields improvements as high as 2.2x in data transfer speed, and 1.9x in application performance.