• DocumentCode
    2807099
  • Title

    An Introduction to the Plasma Language

  • Author

    Kahne, Brian ; Gupta, Aseem ; Wilson, Peter ; Dutt, Nikil

  • Author_Institution
    Freescale Semicond. Inc., Austin, TX
  • fYear
    2005
  • fDate
    Nov. 2005
  • Firstpage
    12
  • Lastpage
    22
  • Abstract
    The ability to enhance single-thread performance, such as by increasing clock frequency, is reaching a point of diminishing returns: power is becoming a dominating factor and limiting scalability. Adding additional cores is a scalable way to increase performance, but it requires that system designers have a method for developing multithreaded applications. Plasma, (parallel language for system modeling and analysis) is a parallel language for system modeling and multi-threaded application development implemented as a superset of C++. The language extensions are based upon those found in Occam, which is based upon CSP (communicating sequential processes) by C. A. R. Hoare. The goal of the Plasma project is to investigate whether a language with the appropriate constructs might be used to ease the task of developing highly multi-threaded software. In addition, through the inclusion of a discrete event simulation API, we seek to simplify the task of system modeling and increase productivity through clearer representation and increased compile-time checking of the more difficult-to-get-right aspects of systems models (the concurrency). The result is a single language which allows users to develop a parallel application and then to model it within the context of a system, allowing for hardware-software partitioning and various other early tradeoff analyses. We believe that this language offers a simpler and more concise syntax than other offerings and can be targeted at a large range of potential architectures, including heterogeneous systems and those without shared memory
  • Keywords
    C++ language; application program interfaces; discrete event simulation; modelling; parallel languages; C++ language; communicating sequential processes; discrete event simulation API; hardware-software partitioning; multithreaded software; parallel language; system design; system modeling; Clocks; Design methodology; Discrete event simulation; Frequency; Modeling; Parallel languages; Plasma applications; Plasma simulation; Productivity; Scalability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microprocessor Test and Verification, 2005. MTV '05. Sixth International Workshop on
  • Conference_Location
    Austin, TX
  • ISSN
    1550-4093
  • Print_ISBN
    0-7695-2627-6
  • Type

    conf

  • DOI
    10.1109/MTV.2005.5
  • Filename
    4022223