• DocumentCode
    1497577
  • Title

    CTK: configurable object abstractions for multiprocessors

  • Author

    Silva, Dilma M. ; Schwan, Karsten ; Eisenhauer, Greg

  • Author_Institution
    IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA
  • Volume
    27
  • Issue
    6
  • fYear
    2001
  • fDate
    6/1/2001 12:00:00 AM
  • Firstpage
    531
  • Lastpage
    549
  • Abstract
    The Configuration Toolkit (CTK) is a library for constructing configurable object based abstractions that are part of multiprocessor programs or operating systems. The library is unique in its exploration of runtime configuration for attaining performance improvements: 1) its programming model facilitates the expression and implementation of program configuration; and 2) its efficient runtime support enables performance improvements by the configuration of program components during their execution. Program configuration is attained without compromising the encapsulation or the reuse of software abstractions. CTK programs are configured using attributes associated with object classes, object instances, state variables, operations, and object invocations. At runtime, such attributes are interpreted by policy classes, which may be varied separately from the abstractions with which they are associated. Using policies and attributes, an object´s runtime behavior may be varied by: 1) changing its performance or reliability while preserving the implementation of its functional behavior, or 2) changing the implementation of its internal computational strategy. CTK´s multiprocessor implementation is layered on a Cthreads-compatible programming library, which results in its portability to a wide variety of uni- and multiprocessor machines, including a Kendall Square KSR-2 Supercomputer, SGI machines, various SUN workstations, and as a native kernel on the GP1000 BBN Butterfly multiprocessor. The platforms evaluated in the paper are the KSR and SGI machines
  • Keywords
    bibliographies; configuration management; multiprocessing programs; multiprocessing systems; object-oriented programming; software libraries; software performance evaluation; software reusability; CTK library; CTK programs; Configuration Toolkit; Cthreads-compatible programming library; Kendall Square KSR-2 Supercomputer; SGI machines; SUN workstations; configurable object abstractions; functional behavior; internal computational strategy; multiprocessor implementation; multiprocessor machines; multiprocessor programs; native kernel; object classes; object instances; object invocations; operating systems; performance improvements; policy classes; program component configuration; program configuration; programming model; runtime behavior; runtime configuration; runtime support; software abstractions; state variables; Contracts; Dynamic programming; Encapsulation; Operating systems; Performance gain; Quality of service; Resource management; Runtime library; Sun; Supercomputers;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.926175
  • Filename
    926175