|
|
|
Announcing PowerRamp, Zodiac's High-Performance,Small-Footprint Java Middleware for Legacy Set-Top Boxes Contact Zodiac at
This email address is being protected from spam bots, you need Javascript enabled to view it
for a free whitepaper on PowerRamp performance. PowerRamp is based on the JSR 242 specification and an optimized SUN CLDC-HI JVM. It provides a solution for set-tops that cannot run a full OCAP stack. PowerRamp allows high-value Java client applications to run on relatively low powered boxes with limited memory and processing power. It is designed to provide forward compatibility and portability to future OCAP enabled set-top boxes. The PowerRamp solution is receiving wide acclaim from operators, manufacturers, and software vendors alike. If you are interested in a rocket fast, small footprint Java solution for legacy set-top boxes, contact Zodiac sales for a demo and white paper highlighting benchmark successes. Small footprint. The JVM executable (JVM and CLDC core classes) takes just 580KB. ROMizing. CLDC-HI supports a ROMizer utility (also known as the class pre-linker or the class pre-loader) that is successfully used in this development effort. The ROMizer enables classes compiled from the Java programming language to be linked directly in the virtual machine, reducing virtual machine startup time considerably. Optimized byte-code interpreter (written in assembly language). CLDC HotSpot Implementation has an optimized interpreter written in assembly code and customized for a particular CPU architecture. Rather than writing the assembly loops by hand, they are generated statically from the debug version of the CLDC HotSpot Implementation system itself. Support for lightweight threads. CLDC HotSpot Implementation supports a lightweight threading system in addition to supporting native threads (OS threads). In contrast to native threads, lightweight threads are implemented within the Java runtime environment. In the CLDC HotSpot Implementation, separate execution stacks are maintained for lightweight threads and native threads. In CLDC HotSpot Implementation, LWTs are implemented on a single native OS thread. Using this simple model, CLDC HotSpot Implementation can be ported to environments that do not offer any multi-threading capability. Even more 2-4 CLDC HotSpot™ Implementation Architecture Guide • July 2006 importantly, the virtual machine has complete control over all memory allocation aspects of thread stacks for Java objects. Fast thread synchronization. The Java programming language provides language-level thread synchronization, which makes it easy to express multi threaded programs with fine-grained locking. CLDC HotSpot Implementation uses a variant of the block structured locking mechanism developed for the HotSpot virtual machine.A s a result, synchronization performance becomes so fast that it is no longer a performance bottleneck for Java programs. Compact object layout. CLDC HotSpot Implementation supports a compact object layout to reduce general memory consumption. Most other virtual machines use at least two words for the object header.H owever, since the average object size is small, object headers take up a big fraction of the total object space. CLDC HotSpot Implementation introduces a new design, in which only one word is needed for the object header.In addition to reducing memory usage, object allocation becomes faster. Unified resource management. A major benefit of CLDC HotSpot Implementation is unified resource management. This means that all allocated data resides inside the object heap. An important advantage of this unification is that the same garbage collector takes care of cleaning up all allocated resources, even compiled code. Another benefit of unified resource management is that compiled code can be removed dynamically to free up space for user-level objects. Accurate, generational garbage collection. CLDC HI uses an accurate generational mark-sweep-compact garbage collector, which results in: Dynamic Native Method Support. This powerful CLDC-HI 1.1.3 feature provides a mechanism for content providers to update devices with new JARs that contain classes with native method declarations. These types of methods are traditionally not allowed to execute on CLDC-HI for purposes of security, but an MSO may allow it for trusted applications. In the described development effort, this feature is used to abstract the JVM executable from the OnRamp to OCAP package and allows native methods from PowerNucleus to speed up features such as graphic operations. Java Finalizers Support. Original CLDC-HI 1.1.3 stack supports Java Finalizers only on internal JVM level. Because many complex Java classes (for example, org.dvb.ui.DVBBufferedImage) historically have not had dedicated methods for freeing resources, Java Finalizers support is improved in this implementation. As a result now all trusted applications can use Java Finalizers for intelligent resource management. Debugging and Memory Profiling. KVM Debug Wire Protocol (KDWP) is completely supported along with KDWP Extension for Memory Profiler Protocol. Correspondingly, there is a standard way (the Sun’s tool called Memory Profiler of CLDC Hotspot Implementation) for getting detailed information about the Java heap contents during virtual machine execution that enables finding memory leaks and optimizing memory usage. Extensions Application Management (Monitor Application); Multitasking capability. PowerRamp implements Application Management based on Extended Isolate API (JSR 121) to enable execution of multiple Xlets simultaneously within the same JVM. As a result, a single JVM uses less resources, simplifies data exchange between Xlets and does not require additional JVM initialization time for new Xlets. The Monitor Application is responsible for Xlets' life cycles, management of Xlets’ states and system resource sharing. Also, the Monitor Application takes control over all input events and can filter or process them on its own level. HAVi. PowerRamp extends the JSR 242 specification to support HAVi and other APIs to significantly simplify development of business applications such as UI portals; for example: DVB’s FontFactory enables downloadable fonts. Those extensions enable rich user interface widgets. MHP/OCAP user events support. This API provides a mechanism allowing applications to influence the routing of events to either applications or the middleware. This typically would be used in a mode where the receiver is primarily used for TV viewing, allowing some events to be received by the application, and allowing the middleware to receive those events that are not requested by any application. DVB (downloadable fonts). DVB’s FontFactory is supported to allow downloadable fonts. This extension enables richer user interface widgets.
|
|
|
|
|