{"id":2846,"date":"2026-09-12T14:33:50","date_gmt":"2026-09-12T06:33:50","guid":{"rendered":"https:\/\/oknomad.blog\/?p=2846"},"modified":"2026-09-18T01:56:56","modified_gmt":"2026-09-17T17:56:56","slug":"mpc-total-architecture-from-mpu-to-cpu-to-cpu-cluster","status":"publish","type":"post","link":"https:\/\/oknomad.blog\/?p=2846","title":{"rendered":"MPC system from MPU to MPU system to MPC cluster"},"content":{"rendered":"\n<p>Based on MPU, we can build a total hierarchy architecture for MPC system: from MPU, to MPU system on one motherboard, to MPC cluster.<\/p>\n\n\n\n<p>Herein, CPU can be CGPU which combines CPU and GPU. MPC is Memory Parallel Computing. MPU is Memory Parallel processing Unit.<\/p>\n\n\n\n<p>MPU sound much better and consistent with CPU\/GPU, so I change all names including PCMem be based on MPU, and MPU = MPU processor + MPU memory.<\/p>\n\n\n\n<p>One MPC cluster in MPC total architecture can be formed by 2 following layers:<\/p>\n\n\n\n<p>layer-1) MPU system: MPU to CPU on one MPU motherboard<\/p>\n\n\n\n<p>Structure: MPU memory unit of each MPU &#8211; &lt;MPU internal bus&gt; &#8211; MPU processor of the MPU &#8211; &lt;MPU external bus&gt; &#8211; MPU chip &#8211; &lt;MPU PCB bus&gt; &#8211; MPU PCB I\/O &#8211; &lt;MPU motherboard bus&gt; &#8211; MPU controllor &#8211; CPU or GPU or CGPU.<\/p>\n\n\n\n<p>A MPU bus forms a single broadcast domain &#8211; a MPU domain, and an MPU domain includes CPU, GPU, and MPUs which all share the same broadcasting on the bus.<\/p>\n\n\n\n<p>The MPU controller on a MPU motherboard bus can be separated from or integrated in CPU or GPU or CGPU.<\/p>\n\n\n\n<p>It can be designed as that DRAM connects to CPU in a MPU domain through a separated motherboard bus not the MPU motherboard bus, and it can also be designed as that DRAM connects to CPU in a MPC domain through the MPC motherboard bus.<\/p>\n\n\n\n<p>One MPU domain includes only one MPU motherboard bus and at least one CPU (CGPU).<\/p>\n\n\n\n<p>Multiple MPU domains (including buses and CPUs) can be integerated on one MPU motherboard with a shared DRAM through a separated DRAM bus.<\/p>\n\n\n\n<p>Multiple MPU domains on one MPU motherboard can form one broadcast domain by connecting their motherboard buses.<\/p>\n\n\n\n<p>A universal reduction tree on one MPC motherboard can span from inside each MPU to all MPC domains on the motherboard.<\/p>\n\n\n\n<p>layer-2) From motherboard to MPC cluster<\/p>\n\n\n\n<p>Multiple MPU domains on different motherboards can connect together by outside link\/server\/switch to form a MPC cluster, and this MPC cluster forms one broadcast domain combined by the multiple MPU domains.<\/p>\n\n\n\n<p>The MPC cluster could have a reduction tree for sum &amp; max, which extends the universal reduction tree in each MPU motherboard, in each MPU domain, in and outside each MPU. (PS: by the way, reduction tree is separated and independent from bus, you guys know this basics, right? )<\/p>\n\n\n\n<p>The different MPU domains in one MPC cluster can do parallel read\/write to improve the read\/write speed of MPU and MPU memories.<\/p>\n\n\n\n<p>MPC cluster can be flexible and dynamic for all MPU domains connected together to be one MPC cluster or multiple parallel MPC clusters or even a hierarchy of multiple tiers of MPC clusters, which can adapt to requirements for different models, tasks, context sizes and broadcast domains. <\/p>\n\n\n\n<p>Through MPC cluster, more MPU sticks on separated motherboards can work together to contain larger memory space for longer context with higher read\/write speed of MPUs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Based on MPU, we can build a total hierarchy architecture for MPC system: from MPU, to MPU system on one motherboard, to MPC cluster. Herein,&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/oknomad.blog\/?p=2846\">Continue reading<span class=\"screen-reader-text\">MPC system from MPU to MPU system to MPC cluster<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2846","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/oknomad.blog\/index.php?rest_route=\/wp\/v2\/posts\/2846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oknomad.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oknomad.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oknomad.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oknomad.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2846"}],"version-history":[{"count":20,"href":"https:\/\/oknomad.blog\/index.php?rest_route=\/wp\/v2\/posts\/2846\/revisions"}],"predecessor-version":[{"id":2887,"href":"https:\/\/oknomad.blog\/index.php?rest_route=\/wp\/v2\/posts\/2846\/revisions\/2887"}],"wp:attachment":[{"href":"https:\/\/oknomad.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oknomad.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2846"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oknomad.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}