{"id":108,"date":"2011-02-01T20:07:09","date_gmt":"2011-02-01T20:07:09","guid":{"rendered":"http:\/\/aviral.lab.asu.edu\/?p=108"},"modified":"2020-01-29T17:46:00","modified_gmt":"2020-01-29T17:46:00","slug":"non-coherent-cache-multi-core-processors","status":"publish","type":"post","link":"https:\/\/labs.engineering.asu.edu\/mps-lab\/2011\/02\/non-coherent-cache-multi-core-processors\/","title":{"rendered":"Non-coherent Cache Architecture"},"content":{"rendered":"<table summary=\"menu\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td style=\"font-weight: bold; font-family: Arial,sans-serif; cursor: default;\" title=\"Limited Local Memory Multi-cores\" onclick=\"window.location.href='http:\/\/aviral.lab.asu.edu\/?p=95';\" onmouseover=\"this.style.background='#2A303E'; this.style.color='#ffffff'\" onmouseout=\"this.style.background='#ffffff'; this.style.color=''\" nowrap=\"nowrap\" bgcolor=\"#ffffff\">Limited Local Memory Multi-cores<\/td>\n<td style=\"font-weight: bold; font-family: Arial,sans-serif; cursor: default;\" title=\"Soft Error Resilience\" onclick=\"window.location.href='http:\/\/aviral.lab.asu.edu\/?p=97';\" onmouseover=\"this.style.background='#2A303E'; this.style.color='#ffffff'\" onmouseout=\"this.style.background='#ffffff'; this.style.color=''\" nowrap=\"nowrap\" bgcolor=\"#ffffff\">Soft Error Resilience<\/td>\n<\/tr>\n<tr>\n<td style=\"font-weight: bold; font-family: Arial,sans-serif; cursor: default;\" title=\"Coarse Grain Reconfigurable Arrays\" onclick=\"window.location.href='http:\/\/aviral.lab.asu.edu\/?p=100';\" onmouseover=\"this.style.background='#2A303E'; this.style.color='#ffffff'\" onmouseout=\"this.style.background='#ffffff'; this.style.color=''\" nowrap=\"nowrap\" bgcolor=\"#ffffff\">Coarse Grain Reconfigurable Arrays<\/td>\n<td style=\"font-weight: bold; color: grey; font-family: Arial,sans-serif; cursor: default;\" title=\"Non-coherent Cache Architecture\" nowrap=\"nowrap\" bgcolor=\"#ffffff\">Non-coherent Cache Architecture<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: center;\"><strong><a href=\"#Challenge\">Challenge<\/a> <a href=\"#OurApproach\">Our Approach<\/a> <a href=\"#Publications\">Publications<\/a> <a href=\"#Resources\">Resources<\/a> <\/strong><\/p>\n<p><a name=\"Challenge\"><\/a><strong>Challenge<\/strong><br \/>\nOne of the main challenges in scaling the number of cores is scaling the memory architecture. As the number of cores on a chip increases, the design complexity and the power consumption of the cache coherence logic increase exponentially. Therefore, it is inevitable for future multi-core processors to employ non-coherent cache architecture.<\/p>\n<figure id=\"attachment_238\" aria-describedby=\"caption-attachment-238\" style=\"width: 441px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/aviral.lab.asu.edu\/?attachment_id=238\" rel=\"attachment wp-att-238\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-238  \" title=\"Intel SCC\" alt=\"\" src=\"http:\/\/labs.engineering.asu.edu\/cml-labwp-content\/uploads\/sites\/8\/2011\/02\/SCC_Layout.png\" width=\"441\" height=\"198\" srcset=\"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-content\/uploads\/sites\/8\/2011\/02\/SCC_Layout.png 700w, https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-content\/uploads\/sites\/8\/2011\/02\/SCC_Layout-300x135.png 300w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/a><figcaption id=\"caption-attachment-238\" class=\"wp-caption-text\">Intel&#8217;s SCC is a research processor which has 48 cores with non-coherent cache memories. (Figure is a courtesy of Intel.)<\/figcaption><\/figure>\n<p>In non-coherent cache\u00a0\u00a0many-core processors, such as Intel SCC (Single-chip Cloud Computer) shown above, cache coherency must be maintained by software through inter-core communication like message passing. While legacy program source codes are written in shared memory programming model, programmability and scalability are major challenges.\u00a0It is not yet clear if every program can run on such architecture easily \u00a0and efficiently, and if the performance is scalable when the number of cores gets doubled,\u00a0tripled, or even more.<\/p>\n<p><a name=\"OurApproach\"><\/a><strong>Our Approach<\/strong><\/p>\n<p>As far as programmability is concerned, virtual shared memory can the best option since all the legacy code can run without any significant transformation. It can be implemented by a library which will invalidate and update the cache lines to maintain coherency.\u00a0However, it may incur a lot of overhead for some applications due to frequent communication. Another option can be automatically transforming message passing style source code from shared memory style source code. The performance of generated code will be affected by various performance considerations and optimizations for the target processor. Careful evaluations and analyses must be done to find the most useful and efficient solution.<\/p>\n<p><a name=\"Publications\"><\/a><strong>Publications<\/strong><\/p>\n<p><a name=\"Resources\"><\/a><strong>Resources<\/strong>\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"mb-2\">Limited Local Memory Multi-cores Soft Error Resilience Coarse Grain Reconfigurable Arrays Non-coherent Cache Architecture Challenge Our Approach Publications Resources Challenge One of the main challenges in scaling the number of cores is scaling the memory architecture. As the number of cores on a chip increases, the design complexity and the power consumption of the cache&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-108","post","type-post","status-publish","format-standard","hentry","category-news"],"acf":[],"_links":{"self":[{"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/posts\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":0,"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/posts\/108\/revisions"}],"wp:attachment":[{"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/media?parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/categories?post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labs.engineering.asu.edu\/mps-lab\/wp-json\/wp\/v2\/tags?post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}