{"id":461,"date":"2011-11-14T11:02:06","date_gmt":"2011-11-14T15:02:06","guid":{"rendered":"http:\/\/blog.payne.org\/?p=461"},"modified":"2011-11-14T11:02:06","modified_gmt":"2011-11-14T15:02:06","slug":"the-cpu-free-lunch-is-over","status":"publish","type":"post","link":"https:\/\/payne.org\/blog\/the-cpu-free-lunch-is-over\/","title":{"rendered":"The CPU Free Lunch is Over"},"content":{"rendered":"<p>Back in the late 70s, my dad ordered a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Zenith_Z89\">Heathkit H-89<\/a> computer. \u00a0It had a 2 Mhz 8-bit <a href=\"http:\/\/en.wikipedia.org\/wiki\/Zilog_Z80\">Z-80<\/a> processor, took months to arrive, cost $1600 (in 1980 dollars!) and we had to put it together. \u00a0Now, you can go to the nearest Best Buy and walk out with a ~3Ghz system for a few hundred dollars. \u00a0While that&#8217;s a <strong>staggering<\/strong> increase in price performance, you may not have noticed: \u00a0we haven&#8217;t seen anything much faster than 3-4 Ghz for a few years.<\/p>\n<p>That&#8217;s because we&#8217;ve &#8220;hit the wall&#8221; for single-processor CPU performance, and we&#8217;re at the limit for CMOS processes, circuit performance, and\u00a0instruction\u00a0level parallelism (<a href=\"http:\/\/en.wikipedia.org\/wiki\/Instruction_level_parallelism\">ILP<\/a>). \u00a0New processors from Intel and AMD are &#8220;spreading sideways&#8221;, implementing multiple CPU cores (2, 4 or even 8 processors). \u00a0Future processors will have even more cores, and you can &#8220;rent&#8221; as many additional processors as you need, in the cloud, on the fly.<\/p>\n<p>This is a fundamental change in CPU performance architecture, and it&#8217;s forcing software developers to think differently. \u00a0For decades, you could speed up your software by just waiting for the next (faster) CPU. \u00a0Now, that&#8217;s no longer the case.<\/p>\n<p>This leaves us with many large, complicated legacy code bases (e.g. <a href=\"http:\/\/en.wikipedia.org\/wiki\/Database_engine\">database engines<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Geometric_modeling_kernel\">solid modeling kernels<\/a>, etc.)\u00a0that need to be completely redesigned to take full advantage of multiple cores. \u00a0That, in turn, will create new opportunities &#8212; <em>someone<\/em> will step in to build multi-core scalable implementations of this stuff.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Back in the late 70s, my dad ordered a Heathkit H-89 computer. \u00a0It had a 2 Mhz 8-bit Z-80 processor, took months to arrive, cost $1600 (in 1980 dollars!) and we had to put it together. \u00a0Now, you can go &hellip; <a href=\"https:\/\/payne.org\/blog\/the-cpu-free-lunch-is-over\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,8],"tags":[],"class_list":["post-461","post","type-post","status-publish","format-standard","hentry","category-entrepreneurship","category-software"],"_links":{"self":[{"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/posts\/461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/comments?post=461"}],"version-history":[{"count":0,"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/posts\/461\/revisions"}],"wp:attachment":[{"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/media?parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/categories?post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/payne.org\/blog\/wp-json\/wp\/v2\/tags?post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}