Available Knowhow
Programming model and runtime support to maximize PC processing power
Categories |
Computer Architecture, Operating Systems, Computer Networks |
Development Stage |
Prototype system developed, currently being optimized |
Knowhow |
Available knowhow |
Market Size |
68.1 million PCs were shipped in 2007 PC, 13.8% increase over 2006 |
Highlights
-
Today’s personal computers (PCs) are rapidly becoming heterogeneous multi-core computing environments with PC cards having their own CPUs.
-
Few applications really take advantage of all the available processing power.
-
Currently there is no generic programming model and corresponding runtime support to enable a developer to take advantage of unused processing power in PC accessory cards.
-
The HYDRA framework provides a tool for developers to take advantage of unused power, enabling the delegation of tasks to devices with different architectures and constraints.
Our Innovation
The HYDRA programming model enables the development of offload-aware (OA) applications “aware” of any (potentially) available computing resource. The minimal unit for offloading is an Offcode (offloaded code), which allows the exportation of a well-defined interface (such as a COM object) as open source or pre-compiled binaries, described by the Offcode description file (ODF).
Key Features
The framework can be used with devices such as a network interface card, graphic interface card, disk controller, and security card. It enables an application to run without involving the main CPU. For example, a TV program can be recorded to the PC and played online at the same time as the PC is being used for something else. The framework identifies which peripheral card to use and if there is sufficient computing room available on the card for an application. Increases speed and efficiency of multitasking.
The Opportunity
-
Applications that require exchanging large volume of data
-
Applications that perform searches in a large volume of data
-
Applications that are limited by main memory and main CPU contention
-
Applications that require replication
-
Remote backup applications