{"title":"异构系统的硬件/软件堆栈","authors":"Jeronimo Castrillon;Matthias Lieber;Sascha Klüppelholz;Marcus Völp;Nils Asmussen;Uwe Aßmann;Franz Baader;Christel Baier;Gerhard Fettweis;Jochen Fröhlich;Andrés Goens;Sebastian Haas;Dirk Habich;Hermann Härtig;Mattis Hasler;Immo Huismann;Tomas Karnagel;Sven Karol;Akash Kumar;Wolfgang Lehner;Linda Leuschner;Siqi Ling;Steffen Märcker;Christian Menard;Johannes Mey;Wolfgang Nagel;Benedikt Nöthen;Rafael Peñaloza;Michael Raitza;Jörg Stiller;Annett Ungethüm;Axel Voigt;Sascha Wunderlich","doi":"10.1109/TMSCS.2017.2771750","DOIUrl":null,"url":null,"abstract":"Plenty of novel emerging technologies are being proposed and evaluated today, mostly at the device and circuit levels. It is unclear what the impact of different new technologies at the system level will be. What is clear, however, is that new technologies will make their way into systems and will increase the already high complexity of heterogeneous parallel computing platforms, making it ever so difficult to program them. This paper discusses a programming stack for heterogeneous systems that combines and adapts well-understood principles from different areas, including capability-based operating systems, adaptive application runtimes, dataflow programming models, and model checking. We argue why we think that these principles built into the stack and the interfaces among the layers will also be applicable to future systems that integrate heterogeneous technologies. The programming stack is evaluated on a tiled heterogeneous multicore.","PeriodicalId":100643,"journal":{"name":"IEEE Transactions on Multi-Scale Computing Systems","volume":"4 3","pages":"243-259"},"PeriodicalIF":0.0000,"publicationDate":"2017-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1109/TMSCS.2017.2771750","citationCount":"12","resultStr":"{\"title\":\"A Hardware/Software Stack for Heterogeneous Systems\",\"authors\":\"Jeronimo Castrillon;Matthias Lieber;Sascha Klüppelholz;Marcus Völp;Nils Asmussen;Uwe Aßmann;Franz Baader;Christel Baier;Gerhard Fettweis;Jochen Fröhlich;Andrés Goens;Sebastian Haas;Dirk Habich;Hermann Härtig;Mattis Hasler;Immo Huismann;Tomas Karnagel;Sven Karol;Akash Kumar;Wolfgang Lehner;Linda Leuschner;Siqi Ling;Steffen Märcker;Christian Menard;Johannes Mey;Wolfgang Nagel;Benedikt Nöthen;Rafael Peñaloza;Michael Raitza;Jörg Stiller;Annett Ungethüm;Axel Voigt;Sascha Wunderlich\",\"doi\":\"10.1109/TMSCS.2017.2771750\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Plenty of novel emerging technologies are being proposed and evaluated today, mostly at the device and circuit levels. It is unclear what the impact of different new technologies at the system level will be. What is clear, however, is that new technologies will make their way into systems and will increase the already high complexity of heterogeneous parallel computing platforms, making it ever so difficult to program them. This paper discusses a programming stack for heterogeneous systems that combines and adapts well-understood principles from different areas, including capability-based operating systems, adaptive application runtimes, dataflow programming models, and model checking. We argue why we think that these principles built into the stack and the interfaces among the layers will also be applicable to future systems that integrate heterogeneous technologies. The programming stack is evaluated on a tiled heterogeneous multicore.\",\"PeriodicalId\":100643,\"journal\":{\"name\":\"IEEE Transactions on Multi-Scale Computing Systems\",\"volume\":\"4 3\",\"pages\":\"243-259\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-11-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1109/TMSCS.2017.2771750\",\"citationCount\":\"12\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IEEE Transactions on Multi-Scale Computing Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://ieeexplore.ieee.org/document/8103042/\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Transactions on Multi-Scale Computing Systems","FirstCategoryId":"1085","ListUrlMain":"https://ieeexplore.ieee.org/document/8103042/","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A Hardware/Software Stack for Heterogeneous Systems
Plenty of novel emerging technologies are being proposed and evaluated today, mostly at the device and circuit levels. It is unclear what the impact of different new technologies at the system level will be. What is clear, however, is that new technologies will make their way into systems and will increase the already high complexity of heterogeneous parallel computing platforms, making it ever so difficult to program them. This paper discusses a programming stack for heterogeneous systems that combines and adapts well-understood principles from different areas, including capability-based operating systems, adaptive application runtimes, dataflow programming models, and model checking. We argue why we think that these principles built into the stack and the interfaces among the layers will also be applicable to future systems that integrate heterogeneous technologies. The programming stack is evaluated on a tiled heterogeneous multicore.