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)