{"id":140,"date":"2014-01-25T13:42:47","date_gmt":"2014-01-25T13:42:47","guid":{"rendered":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/?p=140"},"modified":"2015-11-01T23:24:05","modified_gmt":"2015-11-01T23:24:05","slug":"fun-with-ngrams","status":"publish","type":"post","link":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/fun-with-ngrams\/","title":{"rendered":"Fun with Ngrams"},"content":{"rendered":"<p>After coming across a cool <a href=\"http:\/\/xkcd.com\/ngram-charts\/\" target=\"_blank\">post<\/a> on Google Ngrams by Randall Munroe, I decided to try it on something relevant to my research.<\/p>\n<p><!--more--><\/p>\n<p>I started with the <strong>synchronous vs asynchronous<\/strong> face-off and got a somewhat expected <a href=\"https:\/\/books.google.com\/ngrams\/graph?content=synchronous%2Casynchronous&amp;year_start=1800&amp;year_end=2010&amp;corpus=0&amp;smoothing=3&amp;direct_url=t1%3B%2Csynchronous%3B%2Cc0%3B.t1%3B%2Casynchronous%3B%2Cc0\" target=\"_blank\">result<\/a> where asynchronous is catching up with synchronous:<\/p>\n<p><a href=\"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/sync-async-ngram-full.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/sync-async-ngram-full.png\" alt=\"Synchronous vs Asynchronous\" width=\"600\" height=\"214\" class=\"aligncenter size-full wp-image-161\" srcset=\"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/sync-async-ngram-full.png 1542w, https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/sync-async-ngram-full-300x107.png 300w, https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/sync-async-ngram-full-1024x366.png 1024w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Then, I searched for something more subtle: <strong>latency vs throughput vs energy efficiency<\/strong>, and got <a href=\"https:\/\/books.google.com\/ngrams\/graph?content=latency%2Cthroughput%2Cenergy+efficiency&amp;year_start=1800&amp;year_end=2010&amp;corpus=0&amp;smoothing=3&amp;direct_url=t1%3B%2Clatency%3B%2Cc0%3B.t1%3B%2Cthroughput%3B%2Cc0%3B.t1%3B%2Cenergy%20efficiency%3B%2Cc0\" target=\"_blank\">this<\/a>:<\/p>\n<p><a href=\"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/latency-throughput-energy-efficiency-ngram.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/latency-throughput-energy-efficiency-ngram.png\" alt=\"Latency vs throughput vs energy efficiency\" width=\"600\" height=\"214\" class=\"aligncenter size-full wp-image-158\" srcset=\"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/latency-throughput-energy-efficiency-ngram.png 1542w, https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/latency-throughput-energy-efficiency-ngram-300x107.png 300w, https:\/\/blogs.ncl.ac.uk\/andreymokhov\/files\/2015\/11\/latency-throughput-energy-efficiency-ngram-1024x366.png 1024w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>To clarify the terms:<\/p>\n<p><strong>Latency<\/strong> is the delay from receiving an input data to producing the corresponding output.<\/p>\n<p><strong>Throughput<\/strong> is a rate of receiving inputs and producing outputs. A pipelined system can have a very high throughput despite having a large latency for a single data frame.<\/p>\n<p><strong>Energy efficiency<\/strong> is how much energy is spent per data frame.<\/p>\n<p>The result looks interesting. People first wrote mostly about latency \u2014 it used to be the most important characteristic of a system. Then they moved to discussing throughput, and now we see that these terms are in decline, while energy efficiency climbs upwards. It is time to be energy-efficient!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After coming across a cool post on Google Ngrams by Randall Munroe, I decided to try it on something relevant to my research.<\/p>\n","protected":false},"author":1174,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-140","post","type-post","status-publish","format-standard","hentry","category-thinking"],"_links":{"self":[{"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/posts\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/users\/1174"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/comments?post=140"}],"version-history":[{"count":18,"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":167,"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/posts\/140\/revisions\/167"}],"wp:attachment":[{"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/media?parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/categories?post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ncl.ac.uk\/andreymokhov\/wp-json\/wp\/v2\/tags?post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}