The Community for Technology Leaders
Green Image
<p><b>Abstract</b>—The <it>Configuration Toolkit</it> (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 <it>attributes</it> associated with object classes, object instances, state variables, operations, and object invocations. At runtime, such attributes are interpreted by <it>policy</it> 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 this paper are the KSR and SGI machines.</p>
Configurable systems, high-performance objects, object fragmentation, dynamic adaptation, complex parallel programming, library operating systems.

D. M. Silva, K. Schwan and G. Eisenhauer, "CTK: Configurable Object Abstractions for Multiprocessors," in IEEE Transactions on Software Engineering, vol. 27, no. , pp. 531-549, 2001.
83 ms
(Ver 3.3 (11022016))