Framework Overheads


The use of a framework to generate an AOCS application introduces some overheads both in terms of CPU and memory usage.

In general, the overheads introduced by using a framework to develop an application cannot be answered in an exact quantitative sense because the framework may consist of many components only some of which will be used in a specific application and because it is difficult to trace an application’s thread of execution in and out of the framework elements. With the approach used in the AOCS framework, however, the framework is constructed as a set of functionality managers acting as domain-specific operating system extensions and its overheads can be measured in the same manner in which OS overheads are usually measured.

The memory overhead is then simply given by the memory occupied by the functionality managers which represents the ballast that the framework introduces at application level. With the configuration used for the AOCS framework prototype (SPARC processor with GNU C++ compiler) this is equal to just over 60 kBytes (including both code and data). Since a typical AOCS application might occupy around 400-600 Kbytes, the framework memory overhead is around 10-15%.

CPU overheads can be established by measuring CPU usage when the functionality managers run “empty” (ie. no components plugged into them). In the AOCS framework prototype, an empty cycle takes 0.2 ms with the SPARC processor running at 14 MHz. Since typical AOCS cycles last 100 ms or more, the framework-induced CPU overhead is nearly negligible

Back to Top, Back to Aocs Framework Project Home


Last updated on Feb. 4-th 2002 by Alessandro Pasetti