Programming Model

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 137109 Experts worldwide ranked by ideXlab platform

David I. August - One of the best experts on this subject based on the ideXlab platform.

  • Revisiting the Sequential Programming Model for the Multicore Era
    IEEE Micro, 2008
    Co-Authors: Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas B. Jablin, David I. August
    Abstract:

    Automatic parallelization has thus far not been successful at extracting scalable parallelism from general programs. An aggressive automatic thread extraction framework, coupled with natural extensions to the sequential Programming Model that allow for a range of legal outcomes rather than forcing programmers to define a single legal program outcome, will let programmers achieve the performance of parallel Programming via the simpler sequential Model.

  • revisiting the sequential Programming Model for multi core
    International Symposium on Microarchitecture, 2007
    Co-Authors: Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas B. Jablin, David I. August
    Abstract:

    Single-threaded Programming is already considered a complicated task. The move to multi-threaded Programming only increases the complexity and cost involved in software development due to rewriting legacy code, training of the programmer, increased debugging of the program, and ef- forts to avoid race conditions, deadlocks, and other prob- lems associated with parallel Programming. To address these costs, other approaches, such as automatic thread ex- traction, have been explored. Unfortunately, the amount of parallelism that has been automatically extracted is gener- ally insufficient to keep many cores busy. This paper argues that this lack of parallelism is not an intrinsic limitation of the sequential Programming Model, but rather occurs for two reasons. First, there exists no framework for automatic thread extraction that brings to- gether key existing state-of-the-art compiler and hardware techniques. This paper shows that such a framework can yield scalable parallelization on several SPEC CINT2000 benchmarks. Second, existing sequential Programming lan- guages force programmers to define a single legal program outcome, rather than allowing for a range of legal out- comes. This paper shows that natural extensions to the se- quential Programming Model enable parallelization for the remainder of the SPEC CINT2000 suite. Our experience demonstrates that, by changing only 60 source code lines, all of the C benchmarks in the SPEC CINT2000 suite were parallelizable by automatic thread extraction. This process, constrained by the limits of modern optimizing compilers, yielded a speedup of 454% on these applications.

  • MICRO - Revisiting the Sequential Programming Model for Multi-Core
    40th Annual IEEE ACM International Symposium on Microarchitecture (MICRO 2007), 2007
    Co-Authors: Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas B. Jablin, David I. August
    Abstract:

    Single-threaded Programming is already considered a complicated task. The move to multi-threaded Programming only increases the complexity and cost involved in software development due to rewriting legacy code, training of the programmer, increased debugging of the program, and ef- forts to avoid race conditions, deadlocks, and other prob- lems associated with parallel Programming. To address these costs, other approaches, such as automatic thread ex- traction, have been explored. Unfortunately, the amount of parallelism that has been automatically extracted is gener- ally insufficient to keep many cores busy. This paper argues that this lack of parallelism is not an intrinsic limitation of the sequential Programming Model, but rather occurs for two reasons. First, there exists no framework for automatic thread extraction that brings to- gether key existing state-of-the-art compiler and hardware techniques. This paper shows that such a framework can yield scalable parallelization on several SPEC CINT2000 benchmarks. Second, existing sequential Programming lan- guages force programmers to define a single legal program outcome, rather than allowing for a range of legal out- comes. This paper shows that natural extensions to the se- quential Programming Model enable parallelization for the remainder of the SPEC CINT2000 suite. Our experience demonstrates that, by changing only 60 source code lines, all of the C benchmarks in the SPEC CINT2000 suite were parallelizable by automatic thread extraction. This process, constrained by the limits of modern optimizing compilers, yielded a speedup of 454% on these applications.

Simon See - One of the best experts on this subject based on the ideXlab platform.

  • NPC - Survey on Parallel Programming Model
    Lecture Notes in Computer Science, 2008
    Co-Authors: Henry Kasim, Verdi March, Rita Zhang, Simon See
    Abstract:

    The development of microprocessors design has been shifting to multi-core architectures. Therefore, it is expected that parallelism will play a significant role in future generations of applications. Throughout the years, there has been a myriad number of parallel Programming Models proposed. In choosing a parallel Programming Model, not only the performance aspect is important, but also qualitative the aspect of how well parallelism is abstracted to developers. A Model with a well abstraction of parallelism leads to a higher application-development productivity. In this paper, we propose seven criteria to qualitatively evaluate parallel Programming Models. Our focus is on how parallelism is abstracted and presented to application developers. As a case study, we use these criteria to investigate six well-known parallel Programming Models in the HPC community.

Matthew J. Bridges - One of the best experts on this subject based on the ideXlab platform.

  • Revisiting the Sequential Programming Model for the Multicore Era
    IEEE Micro, 2008
    Co-Authors: Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas B. Jablin, David I. August
    Abstract:

    Automatic parallelization has thus far not been successful at extracting scalable parallelism from general programs. An aggressive automatic thread extraction framework, coupled with natural extensions to the sequential Programming Model that allow for a range of legal outcomes rather than forcing programmers to define a single legal program outcome, will let programmers achieve the performance of parallel Programming via the simpler sequential Model.

  • revisiting the sequential Programming Model for multi core
    International Symposium on Microarchitecture, 2007
    Co-Authors: Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas B. Jablin, David I. August
    Abstract:

    Single-threaded Programming is already considered a complicated task. The move to multi-threaded Programming only increases the complexity and cost involved in software development due to rewriting legacy code, training of the programmer, increased debugging of the program, and ef- forts to avoid race conditions, deadlocks, and other prob- lems associated with parallel Programming. To address these costs, other approaches, such as automatic thread ex- traction, have been explored. Unfortunately, the amount of parallelism that has been automatically extracted is gener- ally insufficient to keep many cores busy. This paper argues that this lack of parallelism is not an intrinsic limitation of the sequential Programming Model, but rather occurs for two reasons. First, there exists no framework for automatic thread extraction that brings to- gether key existing state-of-the-art compiler and hardware techniques. This paper shows that such a framework can yield scalable parallelization on several SPEC CINT2000 benchmarks. Second, existing sequential Programming lan- guages force programmers to define a single legal program outcome, rather than allowing for a range of legal out- comes. This paper shows that natural extensions to the se- quential Programming Model enable parallelization for the remainder of the SPEC CINT2000 suite. Our experience demonstrates that, by changing only 60 source code lines, all of the C benchmarks in the SPEC CINT2000 suite were parallelizable by automatic thread extraction. This process, constrained by the limits of modern optimizing compilers, yielded a speedup of 454% on these applications.

  • MICRO - Revisiting the Sequential Programming Model for Multi-Core
    40th Annual IEEE ACM International Symposium on Microarchitecture (MICRO 2007), 2007
    Co-Authors: Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas B. Jablin, David I. August
    Abstract:

    Single-threaded Programming is already considered a complicated task. The move to multi-threaded Programming only increases the complexity and cost involved in software development due to rewriting legacy code, training of the programmer, increased debugging of the program, and ef- forts to avoid race conditions, deadlocks, and other prob- lems associated with parallel Programming. To address these costs, other approaches, such as automatic thread ex- traction, have been explored. Unfortunately, the amount of parallelism that has been automatically extracted is gener- ally insufficient to keep many cores busy. This paper argues that this lack of parallelism is not an intrinsic limitation of the sequential Programming Model, but rather occurs for two reasons. First, there exists no framework for automatic thread extraction that brings to- gether key existing state-of-the-art compiler and hardware techniques. This paper shows that such a framework can yield scalable parallelization on several SPEC CINT2000 benchmarks. Second, existing sequential Programming lan- guages force programmers to define a single legal program outcome, rather than allowing for a range of legal out- comes. This paper shows that natural extensions to the se- quential Programming Model enable parallelization for the remainder of the SPEC CINT2000 suite. Our experience demonstrates that, by changing only 60 source code lines, all of the C benchmarks in the SPEC CINT2000 suite were parallelizable by automatic thread extraction. This process, constrained by the limits of modern optimizing compilers, yielded a speedup of 454% on these applications.

Alan Stewart - One of the best experts on this subject based on the ideXlab platform.

  • A Programming Model for BSP with partitioned synchronisation
    Formal Aspects of Computing, 2011
    Co-Authors: Alan Stewart
    Abstract:

    A BSP superstep is a distributed computation comprising a number of simultaneously executing processes which may generate asynchronous messages. A superstep terminates with a barrier which enforces a global synchronisation and delivers all ongoing communications. Multilevel supersteps can utilise barriers in which subsets of processes, interacting through shared memories, are locally synchronised (partitioned synchronisation). In this paper a state-based semantics, closely related to the classical sequential Programming Model, is derived for distributed BSP with partitioned synchronisation.

  • A Programming Model for BSP with partitioned synchronisation
    Formal Aspects of Computing, 2010
    Co-Authors: Alan Stewart
    Abstract:

    A BSP superstep is a computation comprising a number of simultaneously executing processes which may generate asynchronous messages. A superstep terminates with a barrier which enforces a global synchronisation and delivers all ongoing communications. Multilevel supersteps can utilise barriers in which subsets of processes, interacting through memories, are locally synchronised (partitioned synchronisation). In this paper a state-based semantics, closely related to the classical sequential Programming Model, is derived for distributed BSP with partitioned synchronisation.

Henry Kasim - One of the best experts on this subject based on the ideXlab platform.

  • NPC - Survey on Parallel Programming Model
    Lecture Notes in Computer Science, 2008
    Co-Authors: Henry Kasim, Verdi March, Rita Zhang, Simon See
    Abstract:

    The development of microprocessors design has been shifting to multi-core architectures. Therefore, it is expected that parallelism will play a significant role in future generations of applications. Throughout the years, there has been a myriad number of parallel Programming Models proposed. In choosing a parallel Programming Model, not only the performance aspect is important, but also qualitative the aspect of how well parallelism is abstracted to developers. A Model with a well abstraction of parallelism leads to a higher application-development productivity. In this paper, we propose seven criteria to qualitatively evaluate parallel Programming Models. Our focus is on how parallelism is abstracted and presented to application developers. As a case study, we use these criteria to investigate six well-known parallel Programming Models in the HPC community.