CTK: Configurable object abstractions for multiprocessors

Citation
Dm. Silva et al., CTK: Configurable object abstractions for multiprocessors, IEEE SOFT E, 27(6), 2001, pp. 531-549
Citations number
57
Categorie Soggetti
Computer Science & Engineering
Journal title
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
ISSN journal
00985589 → ACNP
Volume
27
Issue
6
Year of publication
2001
Pages
531 - 549
Database
ISI
SICI code
0098-5589(200106)27:6<531:CCOAFM>2.0.ZU;2-Z
Abstract
The Configuration Toolkit (CTK) is a library for constructing configurable object-based abstractions that are part of multiprocessor programs or opera ting systems. The library is unique in its exploration of runtime configura tion for attaining performance improvements: 1) its programming model facil itates the expression and implementation of program configuration and 2) it s efficient runtime support enables performance improvements by the configu ration 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 a ssociated. Using policies and attributes, an object's runtime behavior may be varied by 1) changing its performance or reliability while preserving th e implementation of its functional behavior or 2) changing the implementati on of its internal computational strategy. CTK's multiprocessor implementat ion is layered on a Cthreads-compatible programming library, which results in its portability to a wide variety of uni- and multiprocessor machines, i ncluding a Kendall Square KSR-2 Supercomputer, SGl machines, various SUN wo rkstations, and as a native kernel on the GP1000 BBN Butterfly multiprocess or. The platforms evaluated in this paper are the KSR and SGl machines.