格台在多核处理器上自动管理分层存储器的商业教程

W. Lundgren
{"title":"格台在多核处理器上自动管理分层存储器的商业教程","authors":"W. Lundgren","doi":"10.1109/IPDPS.2008.4536578","DOIUrl":null,"url":null,"abstract":"Multicore processors present new programming challenges even to those with experience programming parallel and distributed systems. Gedae offers improved productivity and an expanded developer pool for these architectures by automating many of the difficult and tedious issues such as threading, deadlock avoidance, planning of memory use, and runtime observability. Gedae is able to address these issues will still creating highly efficient applications through the automatic incorporation of target-optimized compute kernels and minimal impact of the Gedae scheduler during runtime. The focus of this tutorial is one of those challenges heightened by the advent of multicores - the management of hierarchical memories. Because multiple cores are being brought together on the limited real estate of a single chip, there is limited room to provide core-specific memory, bringing about programming challenges for the software developer. An example is the cell broadband engine (Cell/B.E.) processor. The Cell/B.E. processor combines 8 synergistic processing elements (SPEs) with one power processing element (PPE). The SPEs each have a small, 256 kB local storage, while the system has a larger monolithic memory available to all PEs. Accessing the system memory from the SPEs must utilize a single memory interface with limited bandwidth compared to the element interconnect bus (EIB) between the SPEs. Programming this hierarchical memory involves manual management of the SPEs' local storage, overlapping of memory puts and gets with computation, and special consideration of alignment issues to provide high performance. While the Cell/B.E. memory structure presents special programming considerations, other multicores also utilize hierarchical memory structures, such as the use of core-specific multilayered cache on Intel Core 2 and Tilera Tile64 processors. Gedae is a programming language, compiler, and analysis tools that provide a method for specifying the use of hierarchical memory and automating the use of these memories. This tutorial will introduce the concepts of managing hierarchical memories on multicore processors, discuss how those issues affect programming the processors, illustrate Gedae's solution for programming these memories, and walk through example applications that show how Gedae automatically manages these issues.","PeriodicalId":162608,"journal":{"name":"2008 IEEE International Symposium on Parallel and Distributed Processing","volume":"52 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-04-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Gedae’s automated management of hierarchical memories on multicore processors Commercial Tutorial\",\"authors\":\"W. Lundgren\",\"doi\":\"10.1109/IPDPS.2008.4536578\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Multicore processors present new programming challenges even to those with experience programming parallel and distributed systems. Gedae offers improved productivity and an expanded developer pool for these architectures by automating many of the difficult and tedious issues such as threading, deadlock avoidance, planning of memory use, and runtime observability. Gedae is able to address these issues will still creating highly efficient applications through the automatic incorporation of target-optimized compute kernels and minimal impact of the Gedae scheduler during runtime. The focus of this tutorial is one of those challenges heightened by the advent of multicores - the management of hierarchical memories. Because multiple cores are being brought together on the limited real estate of a single chip, there is limited room to provide core-specific memory, bringing about programming challenges for the software developer. An example is the cell broadband engine (Cell/B.E.) processor. The Cell/B.E. processor combines 8 synergistic processing elements (SPEs) with one power processing element (PPE). The SPEs each have a small, 256 kB local storage, while the system has a larger monolithic memory available to all PEs. Accessing the system memory from the SPEs must utilize a single memory interface with limited bandwidth compared to the element interconnect bus (EIB) between the SPEs. Programming this hierarchical memory involves manual management of the SPEs' local storage, overlapping of memory puts and gets with computation, and special consideration of alignment issues to provide high performance. While the Cell/B.E. memory structure presents special programming considerations, other multicores also utilize hierarchical memory structures, such as the use of core-specific multilayered cache on Intel Core 2 and Tilera Tile64 processors. Gedae is a programming language, compiler, and analysis tools that provide a method for specifying the use of hierarchical memory and automating the use of these memories. This tutorial will introduce the concepts of managing hierarchical memories on multicore processors, discuss how those issues affect programming the processors, illustrate Gedae's solution for programming these memories, and walk through example applications that show how Gedae automatically manages these issues.\",\"PeriodicalId\":162608,\"journal\":{\"name\":\"2008 IEEE International Symposium on Parallel and Distributed Processing\",\"volume\":\"52 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-04-14\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2008 IEEE International Symposium on Parallel and Distributed Processing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IPDPS.2008.4536578\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 IEEE International Symposium on Parallel and Distributed Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPS.2008.4536578","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

多核处理器甚至对那些有并行和分布式系统编程经验的人提出了新的编程挑战。Gedae通过自动化许多困难和繁琐的问题(如线程、死锁避免、内存使用计划和运行时可观察性),为这些体系结构提供了改进的生产力和扩展的开发人员池。Gedae能够解决这些问题,通过自动合并目标优化的计算内核和最小化运行时Gedae调度器的影响,仍然可以创建高效的应用程序。本教程的重点是多核的出现所带来的挑战之一——分层存储器的管理。由于多个内核被集中在单个芯片的有限空间上,因此提供特定于内核的内存的空间有限,这给软件开发人员带来了编程挑战。一个例子是小区宽带引擎(cell /B.E.)处理器。的Cell / B.E.该处理器由8个协同处理元件(spe)和1个电源处理元件(PPE)组成。每个spe都有一个256 kB的小本地存储,而系统有一个更大的单片内存供所有pe使用。与spe之间的元素互连总线(EIB)相比,从spe访问系统内存必须利用带宽有限的单个内存接口。这种分层内存的编程涉及到手动管理spe的本地存储、计算中内存放置和获取的重叠,以及特别考虑对齐问题以提供高性能。而Cell/B.E.内存结构提出了特殊的编程考虑,其他多核也利用分层内存结构,例如在Intel Core 2和Tilera Tile64处理器上使用特定于内核的多层缓存。Gedae是一种编程语言、编译器和分析工具,它提供了一种方法来指定分层内存的使用并自动使用这些内存。本教程将介绍在多核处理器上管理分层内存的概念,讨论这些问题如何影响处理器编程,演示Gedae编程这些内存的解决方案,并通过示例应用程序演示Gedae如何自动管理这些问题。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Gedae’s automated management of hierarchical memories on multicore processors Commercial Tutorial
Multicore processors present new programming challenges even to those with experience programming parallel and distributed systems. Gedae offers improved productivity and an expanded developer pool for these architectures by automating many of the difficult and tedious issues such as threading, deadlock avoidance, planning of memory use, and runtime observability. Gedae is able to address these issues will still creating highly efficient applications through the automatic incorporation of target-optimized compute kernels and minimal impact of the Gedae scheduler during runtime. The focus of this tutorial is one of those challenges heightened by the advent of multicores - the management of hierarchical memories. Because multiple cores are being brought together on the limited real estate of a single chip, there is limited room to provide core-specific memory, bringing about programming challenges for the software developer. An example is the cell broadband engine (Cell/B.E.) processor. The Cell/B.E. processor combines 8 synergistic processing elements (SPEs) with one power processing element (PPE). The SPEs each have a small, 256 kB local storage, while the system has a larger monolithic memory available to all PEs. Accessing the system memory from the SPEs must utilize a single memory interface with limited bandwidth compared to the element interconnect bus (EIB) between the SPEs. Programming this hierarchical memory involves manual management of the SPEs' local storage, overlapping of memory puts and gets with computation, and special consideration of alignment issues to provide high performance. While the Cell/B.E. memory structure presents special programming considerations, other multicores also utilize hierarchical memory structures, such as the use of core-specific multilayered cache on Intel Core 2 and Tilera Tile64 processors. Gedae is a programming language, compiler, and analysis tools that provide a method for specifying the use of hierarchical memory and automating the use of these memories. This tutorial will introduce the concepts of managing hierarchical memories on multicore processors, discuss how those issues affect programming the processors, illustrate Gedae's solution for programming these memories, and walk through example applications that show how Gedae automatically manages these issues.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信