{"id":164,"date":"2020-06-21T09:53:26","date_gmt":"2020-06-21T16:53:26","guid":{"rendered":"http:\/\/junsun.net\/wordpress\/?p=164"},"modified":"2020-06-22T11:58:57","modified_gmt":"2020-06-22T18:58:57","slug":"geekbench-performance-of-aws-graviton-2","status":"publish","type":"post","link":"https:\/\/junsun.net\/wordpress\/2020\/06\/geekbench-performance-of-aws-graviton-2\/","title":{"rendered":"Geekbench Performance on AWS Graviton 2"},"content":{"rendered":"\n<p>There is much <a href=\"https:\/\/www.crn.com\/news\/cloud\/aws-ceo-andy-jassy-6th-gen-ec2-instances-a-game-changer-\">touting about the new AWS Graviton 2 (ARM64) offering as a game changer<\/a>.  Let us run some benchmark to test it out.<\/p>\n\n\n\n<h3>Settings<\/h3>\n\n\n\n<p>We pick 3 EC2 instance types to compare: <\/p>\n\n\n\n<ul><li>a1 &#8211; First generation of ARM64 AWS Graviton CPU<\/li><li>m6g &#8211; Second generation of ARM64 Graviton 2 CPU<\/li><li>m5 &#8211; Intel Xeon Platinum 8259CL CPU<\/li><\/ul>\n\n\n\n<p>We run Geekbench 4 on all xlarge instances of these EC2 types.  We mostly focus on 64bit performance, but we will also touch 32bit performance as well.<\/p>\n\n\n\n<h3>Overview<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Instance type<\/td><td>a1.xlarge<\/td><td>m6g.xlarge<\/td><td>m5.xlarge<\/td><\/tr><tr><td>vCPU<\/td><td>4<\/td><td>4<\/td><td>4<\/td><\/tr><tr><td>Memory(GB)<\/td><td>8<\/td><td>16<\/td><td>16<\/td><\/tr><tr><td>Hourly price(us-ea-1,Linux)<\/td><td>0.102<\/td><td>0.154<\/td><td>0.192<\/td><\/tr><tr><td>64bit single-core score<\/td><td>1899<\/td><td>3609<\/td><td>3647<\/td><\/tr><tr><td>64bit multi-core score<\/td><td>5227<\/td><td>11142<\/td><td>8017<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>From the above table, several observations are obvious:<\/p>\n\n\n\n<ul><li>Graviton 2 has doubled the performance of Graviton 1.<\/li><li>For single core performance Graviton 2 is similar to Intel Xeon CPU<\/li><li>For multi-core performance, Graviton 2 scales up much better, likely because Intel uses hyper-threading technology, where vCPU count is only 1\/2 of true CPU core count.  By contrast, vCPU count in Graviton CPU is true CPU core count.<\/li><\/ul>\n\n\n\n<p>I also listed the pricing.  <strong>It looks like Graviton 2 is a good deal!<\/strong><\/p>\n\n\n\n<h3>Look into the Details<\/h3>\n\n\n\n<p><a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/19Pn7ZdcZIWrvvD_eLjFjBmGVFtUQB6AdQ8i5uFMTIbM\/edit#gid=444099351\">This link <\/a>gives detailed scores for each test suite and each instance type.  A few highlighted cells indicate interesting contrast between Intel Xeon and Graviton 2:<\/p>\n\n\n\n<ul><li>Intel Xeon is 20 times faster than Graviton 2 in AES test!  This is *very* likely due to non-optimized implementation for ARM64, i.e., it is not using NEON instructions.  Otherwise the performance should be more comparable.<\/li><li>Intel Xeon are 2x better in SGEMM and 50% better in SFFT, both heavily relying Intel AVS\/SSE instructions while ARM64 using NEON instructions.<\/li><li>Graviton 2 shines in memory area, 2x better in Memory Copy and 4x better in Memory bandwidth.<\/li><\/ul>\n\n\n\n<h3>32bit Performance<\/h3>\n\n\n\n<p>While 32bit performance is probably not interesting on those servers, it is still interesting to take a look.  Below is the overview comparison table and <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/19Pn7ZdcZIWrvvD_eLjFjBmGVFtUQB6AdQ8i5uFMTIbM\/edit#gid=528117664\">this link gives detail scores.<\/a><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Instance type<\/td><td>a1.xlarge<\/td><td>m6g.xlarge<\/td><td>m5.xlarge<\/td><\/tr><tr><td>32bit single-core score<\/td><td>1707<\/td><td>2975<\/td><td>3053<\/td><\/tr><tr><td>32bit multi-core score<\/td><td>4692<\/td><td>9016<\/td><td>6886<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Overall we see similar patterns in 64bit case:<\/p>\n\n\n\n<ul><li>Graviton 2 is about 2x faster than Graviton 1<\/li><li>Intel Xeon performs relatively same as Graviton 2 in single core and wanes in multi-core performance.<\/li><li>Detail scores also reflect similar pattern as 64bit case.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>There is much touting about the new AWS Graviton 2 (ARM64) offering as a game changer. Let us run some benchmark to test it out. Settings We pick 3 EC2 instance types to compare: a1 &#8211; First generation of ARM64 AWS Graviton CPU m6g &#8211; Second generation of ARM64 Graviton 2 CPU m5 &#8211; Intel &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/junsun.net\/wordpress\/2020\/06\/geekbench-performance-of-aws-graviton-2\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Geekbench Performance on AWS Graviton 2&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[3],"tags":[24,43,44,45],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts\/164"}],"collection":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":3,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":167,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts\/164\/revisions\/167"}],"wp:attachment":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}