SoC的运行时任务图提取

Kunal P. Ganeshpure, S. Kundu
{"title":"SoC的运行时任务图提取","authors":"Kunal P. Ganeshpure, S. Kundu","doi":"10.1109/SOCDC.2010.5682892","DOIUrl":null,"url":null,"abstract":"System on Chip (SoC) consists of multiple cores communicating with each other using a communication back plane. The SoC programming model is based on a task graph where a node represents an operation to be scheduled on a core while the edges represent the communication between these operations. Each node and edge is weighted by duration of computation or communication. In a task graph there could be more nodes that can run in parallel than cores. This leads to a scheduling problem. Typically such scheduling is done statically during program development based on estimated execution times. In this paper we propose hardware based dynamic task scheduling driven by real execution times. A key challenge in implementing hardware based task scheduling is runtime discovery of the task graph. It has been observed that most applications have phases because of the presence of loops where only a task graph is executed repeatedly. In this work, we propose to dynamically extract the task graph information in a bus based SoC by adding extra logic to the arbiter which monitors the bus communication and extracts the task graph for the current application phase. The extracted task graph can then be used by the arbiter to adaptively change the priority for bus grant so as to maximize performance. It is seen from our experiments that in most cases it takes less than 100 task graph iterations for our algorithm to extract the application task graph. This is small as compared to millions of task graph iterations in a typical application.","PeriodicalId":380183,"journal":{"name":"2010 International SoC Design Conference","volume":"138 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"On run time task graph extraction of SoC\",\"authors\":\"Kunal P. Ganeshpure, S. Kundu\",\"doi\":\"10.1109/SOCDC.2010.5682892\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"System on Chip (SoC) consists of multiple cores communicating with each other using a communication back plane. The SoC programming model is based on a task graph where a node represents an operation to be scheduled on a core while the edges represent the communication between these operations. Each node and edge is weighted by duration of computation or communication. In a task graph there could be more nodes that can run in parallel than cores. This leads to a scheduling problem. Typically such scheduling is done statically during program development based on estimated execution times. In this paper we propose hardware based dynamic task scheduling driven by real execution times. A key challenge in implementing hardware based task scheduling is runtime discovery of the task graph. It has been observed that most applications have phases because of the presence of loops where only a task graph is executed repeatedly. In this work, we propose to dynamically extract the task graph information in a bus based SoC by adding extra logic to the arbiter which monitors the bus communication and extracts the task graph for the current application phase. The extracted task graph can then be used by the arbiter to adaptively change the priority for bus grant so as to maximize performance. It is seen from our experiments that in most cases it takes less than 100 task graph iterations for our algorithm to extract the application task graph. This is small as compared to millions of task graph iterations in a typical application.\",\"PeriodicalId\":380183,\"journal\":{\"name\":\"2010 International SoC Design Conference\",\"volume\":\"138 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2010-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2010 International SoC Design Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SOCDC.2010.5682892\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2010 International SoC Design Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SOCDC.2010.5682892","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

摘要

片上系统(SoC)由多个内核组成,通过通信背板相互通信。SoC编程模型基于任务图,其中节点表示要在核心上调度的操作,而边缘表示这些操作之间的通信。每个节点和边缘根据计算时间或通信时间进行加权。在任务图中,可以并行运行的节点可能比核心多。这就导致了调度问题。通常,这种调度是在程序开发期间根据估计的执行时间静态完成的。本文提出了一种基于硬件的实时执行时间驱动的动态任务调度方法。实现基于硬件的任务调度的一个关键挑战是任务图的运行时发现。已经观察到,大多数应用程序都有阶段,因为循环的存在,其中只有一个任务图被重复执行。在这项工作中,我们建议在基于总线的SoC中动态提取任务图信息,方法是在仲裁器中添加额外的逻辑,仲裁器监视总线通信并提取当前应用阶段的任务图。然后,仲裁器可以使用提取的任务图自适应地更改总线授予的优先级,从而最大化性能。从我们的实验中可以看出,在大多数情况下,我们的算法只需要不到100次任务图迭代就可以提取出应用程序任务图。与典型应用程序中的数百万次任务图迭代相比,这是很小的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
On run time task graph extraction of SoC
System on Chip (SoC) consists of multiple cores communicating with each other using a communication back plane. The SoC programming model is based on a task graph where a node represents an operation to be scheduled on a core while the edges represent the communication between these operations. Each node and edge is weighted by duration of computation or communication. In a task graph there could be more nodes that can run in parallel than cores. This leads to a scheduling problem. Typically such scheduling is done statically during program development based on estimated execution times. In this paper we propose hardware based dynamic task scheduling driven by real execution times. A key challenge in implementing hardware based task scheduling is runtime discovery of the task graph. It has been observed that most applications have phases because of the presence of loops where only a task graph is executed repeatedly. In this work, we propose to dynamically extract the task graph information in a bus based SoC by adding extra logic to the arbiter which monitors the bus communication and extracts the task graph for the current application phase. The extracted task graph can then be used by the arbiter to adaptively change the priority for bus grant so as to maximize performance. It is seen from our experiments that in most cases it takes less than 100 task graph iterations for our algorithm to extract the application task graph. This is small as compared to millions of task graph iterations in a typical application.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信