Numbers every Programmer should know

When discussing about Memory Hierarchy in today’s ( 25th Sept. 2014) OS class, I assumed that for those paying attention the sheer magnitude in access times between the different levels of the hierarchy should’ve been mind-blowing to say the least.

While the discussion continued, I recollected something I read a long time back. It went by the Title “Numbers every Programmer should know”. It was a listing of reference time for accessing various memories (Cache, Registers, HDD, Internet .etc) . The numbers were part of a talk given by the legendary programmer , co-inventor of mapReduce and Google Fellow Jeff Dean during an internal talk on building large scale distributed systems. This was later publicized by Peter Norvig, Head of Research at Google. The list is extremely interesting and the way the numbers have evolved over time show the pace at which technology is developing. Take a look for yourself.

Try guessing where current day computers are spending most of their time on? You’ll realize that they spend most of their time waiting, waiting for data to process.
This is fine for personal computers but in data centers, servers and other applications where performance is the key, this is just not acceptable. This was one of the main reasons for developing event-driven models for servers. Nginx and node.js are two examples of event-driven servers

This video gives a very good introduction to node.js. It also talks about the waiting problem and how node seeks to solve it.

 

As an addendum you can check out the numbers in big data, 6 PB, that’s the amount of chat data facebook has ( all our Awww!!! , Ohhh, hmm, :), 😦 , :\, >.< , πŸ˜› all are there)

http://doubleclix.wordpress.com/2011/11/01/bigdata-counts/

References

http://colin-scott.github.io/blog/2012/12/24/latency-trends/
http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf
http://norvig.com/21-days.html
http://doubleclix.wordpress.com/2010/11/11/google-a-study-in-scalability-and-a-little-systems-horse-sense/
http://doubleclix.wordpress.com/2011/11/01/bigdata-counts/
https://gist.github.com/hellerbarde/2843375
http://www.cs.virginia.edu/~evans/talks/cs390-s04/

Advertisements

Published by

gokul

Hi!, My name is Gokula Krishnan, you can (and I prefer) call me gokul. I'm a third year Computer Science major from BITS Pilani. I'm interested in Technology, Theoretical Computer Science and Discrete Mathematics. A FOSS enthusiast, I'm one of the founders of the BITS Firefox community. I'm currently working on Big Data Analytics, Machine learning and UNIX shell programming. My not-so-geeky hobbies include playing volleyball and football and origami

2 thoughts on “Numbers every Programmer should know”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s