Nathaniel Azuelos, Yoav Etsion, I. Keidar, A. Zaks, E. Ayguadé
{"title":"Introducing Speculative Optimizations in Task Dataflow with Language Extensions and Runtime Support","authors":"Nathaniel Azuelos, Yoav Etsion, I. Keidar, A. Zaks, E. Ayguadé","doi":"10.1109/DFM.2012.15","DOIUrl":"https://doi.org/10.1109/DFM.2012.15","url":null,"abstract":"We argue that speculation leads to increased parallelism in the coarse-grain dataflow paradigm. To do so, we present a framework for adding speculation in a popular and well-established framework. We specify a limited set of additions to the OmpSs language and changes required in its supporting runtime environment. These modifications enable speculation across the system in a flexible way. We evaluate our implementation using a simple benchmark leading to a promising 10% speedup.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"111 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117241680","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
D. Goodman, Salman Khan, Chris Seaton, Yegor Guskov, Behram Khan, M. Luján, I. Watson
{"title":"DFScala: High Level Dataflow Support for Scala","authors":"D. Goodman, Salman Khan, Chris Seaton, Yegor Guskov, Behram Khan, M. Luján, I. Watson","doi":"10.1109/DFM.2012.12","DOIUrl":"https://doi.org/10.1109/DFM.2012.12","url":null,"abstract":"In this paper we present DFScala, a library for constructing and executing dataflow graphs in the Scala language. Through the use of Scala this library allows the programmer to construct coarse grained dataflow graphs that take advantage of functional semantics for the dataflow graph and both functional and imperative semantics within the dataflow nodes. This combination allows for very clean code which exhibits the properties of dataflow programs, but we believe is more accessible to imperative programmers. We first describe DFScala in detail, before using a number of benchmarks to evaluate both its scalability and its absolute performance relative to existing codes. DFScala has been constructed as part of the Teraflux project and is being used extensively as a basis for further research into dataflow programming.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122018287","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
C. Christofi, G. Michael, P. Trancoso, P. Evripidou
{"title":"Exploring HPC Parallelism with Data-Driven Multithreating","authors":"C. Christofi, G. Michael, P. Trancoso, P. Evripidou","doi":"10.1109/DFM.2012.11","DOIUrl":"https://doi.org/10.1109/DFM.2012.11","url":null,"abstract":"The switch to Multi-core systems has ended the reliance on the single processor for increase in performance and moved into Parallelism. However, the exponential growth in performance of the single processor in the 80's and 90's had overshadowed the drive for efficient Parallelism and relegate it into a niche research area, mostly for High Performance Computing (HPC). Parallelism now is in the forefront and holds the burden for utilising the extra resources of Moore's law to maintain the exponential growth of the computing systems. In the drive to utilise parallel models of computation, Data-Flow models have recently been \"re-visited\" for exploiting parallelism in the multi and many core systems. Data-Driven Multithreading (DDM) is one such model which is based on Dynamic Data- Flow principles, that can expose the maximum parallelism of an application. DDM schedules Threads based on Data availability driven by a producer consumer graph. DDM enforces single assignments semantics on the data passed from producer to consumer. In this paper we present a preliminary evaluation of whether DDM can be viable candidate for HPC. We study the scalability of a small subset of the LINPACK benchmark using the Data-Driven Multithreading for a system with a 48 cores. We implement three test case operations: Matrix Multiplication, LU and Cholesky decompositions and use them to test their scalability and performance. We use optimized linear algebra kernel operation for the basic operations performed in the threads. We compare our DDM implementations against PLASMA, a state-of-the art linear algebra library for HPC computing, and show that applications using the DDM model can scale efficiently and observe a performance improvement of up to 2×.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123869268","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
F. Penczek, W. Cheng, C. Grelck, R. Kirner, B. Scheuermann, A. Shafarenko
{"title":"A Data-Flow Based Coordination Approach to Concurrent Software Engineering","authors":"F. Penczek, W. Cheng, C. Grelck, R. Kirner, B. Scheuermann, A. Shafarenko","doi":"10.1109/DFM.2012.14","DOIUrl":"https://doi.org/10.1109/DFM.2012.14","url":null,"abstract":"In this paper we present S-Net, a coordination language based on dataflow principles, intended for design of concurrent software. The language is introduced and then used for programming a concurrent solver for a combinatorial optimisation problem. We present the analysis and tracing facilities of our S-Netruntime system and show how these aid programmers in optimising the performance of their applications.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128397140","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Support for Dependency Driven Executions among OpenMP Tasks","authors":"Priyankar Ghosh, Yonghong Yan, B. Chapman","doi":"10.1109/DFM.2012.16","DOIUrl":"https://doi.org/10.1109/DFM.2012.16","url":null,"abstract":"OpenMP 3.x introduced the concept of creation of tasks with the aim of handling unstructured parallelism by providing support for efficient load-balancing and dynamic scheduling of asynchronous units of work, namely tasks. This work is focused towards extending task parallelism further to exploit task dependence relationships. The goal is to extend the OpenMP tasking model to provide more flexible synchronizations based on the data access relationship among such tasks. Our approach implements extensions to the current OpenMP task directive, which aim at providing task-level granularity for synchronization of tasks sharing the same parent. The new extensions focus primarily on adding additional functionality to the OpenUH compiler runtime referenced at the time of scheduling of tasks to honor only specified explicit dependencies. The extensions provide simplicity of use and help in achieving more parallelism owing to a more flexible approach in synchronizing tasks wherein a task waits only as long as its specified explicit dependencies are honored. The extensions when tested on a basic linear algebraic algorithm - LU Decomposition, presented a 9% and 20% speedup compared to the tasking implementations of Intel and GNU compilers respectively.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125434881","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Incorporating Dynamic Communication Patterns in a Static Dataflow Notation","authors":"Pritish Jetley, Adarsh Keshany, L. Kalé","doi":"10.1109/DFM.2012.13","DOIUrl":"https://doi.org/10.1109/DFM.2012.13","url":null,"abstract":"Charisma is a higher-level notation for writing parallel static data flow programs. It provides a convenient publish-consume paradigm for the expression of static flows of data and control. Although the syntax of the language allows the elegant expression of an important class of programs, it is restrictive, in that not all types of static data flow program can be written in Charisma. In this paper, we discuss a new incarnation of the language. Charisma 2.0 has been designed to expand the expressive scope of the language, while retaining the productivity benefits of the publish-consume paradigm and a simple semantics of execution. We also examine the syntactic and semantic constructs of Charisma 2.0, and how they enhance expressivity.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123474442","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Determinacy and Repeatability of Parallel Program Schemata","authors":"J. Dennis, G. Gao, Vivek Sarkar","doi":"10.1109/DFM.2012.10","DOIUrl":"https://doi.org/10.1109/DFM.2012.10","url":null,"abstract":"The concept of \"determinism\" of parallel programs and parallel systems has received a lot of attention since the dawn of computing, with multiple proposals for formal and informal definitions of deterministic execution. In this paper, we present precise definitions of two related properties of program schemata - determinacy and repeatability. A key advantage of providing definitions for schemata rather than concrete programs is that it simplifies the task for programmers and tools to check these properties. The definitions of these properties are provided for schemata arising from data flow programs and task-parallel programs, thereby also establishing new relationships between the two models. Our hope is that these definitions will help provide a framework for enabling more precise definitions of determinism in future work.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"65 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120986595","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}