A scheme of local compilation for just-in-time compiled mobile collector agents

Publication Type:
Issue Date:
Full metadata record
Files in This Item:
Filename Description Size
Thumbnail01Front.pdf537.16 kB
Adobe PDF
Thumbnail02Whole.pdf18.71 MB
Adobe PDF
NO FULL TEXT AVAILABLE. Access is restricted indefinitely. ----- The amount of multimedia information available on the World Wide Web has grown beyond what the current generation of web-based search engines can catalogue and search. A new technique of document summarisation is proposed based on a scheme of local compilation for just-in-time compiled mobile collector agents. This thesis aims to develop a scheme of local compilation where one of the optimisations available to the compiler is the dynamic application of Single Instruction Multiple Data (SIMD) instructions to the most expensive portions of agent code executing within a type and memory safe virtual machine context. Despite advancements in microprocessor and Instruction Set Architecture (ISA) design such as dual core processors. CELL technology and hyper-threading, the use of Single Instruction Multiple Data (SIMD) instructions is still a recognised method of obtaining speedup in multimedia and Digital Signal Processing (DSP) applications. The application of SIMD instructions within multimedia systems is typically static in nature, is non-configurable and is unable to adapt to dramatic changes to system specifications such as a change in data path width or ISA. Subsequently, scientific code that is vectorised for one specific instruction set will not run optimally on competing processors with conflicting capabilities and subtleties in their corresponding instruction sets. This problem is further exacerbated by the fact that most vector code is hand-written using combinations of inline assembly code and primitive functions that map to combinations of low-level instructions when compiled. We present a scheme of dynamic compilation that can automatically detect so called “hotspots” (i.e., regions of nontrivial computation) that are parallelisable in nature and vectorise them with SIMD instructions using a target-independent sequence of code generation steps. We find that the dynamic application of SIMD instructions to mobile agent code executing within a type and memory safe virtual machine context can reduce the execution time by many orders of magnitude versus scalar compilers in both debug and retail modes. In particular, applications that make use of complex arithmetic as well as trigonometric, logarithmic and exponential functions might gain significant benefits from the described scheme when vector parallelism can be exploited. Mobile agents that consist of code regions where vector instructions could not normally be applied are also shown to exhibit respectable performance results due to the range of applied optimisations including memory address optimisation and the application of multimedia instructions within scalar regions.
Please use this identifier to cite or link to this item: