| M. Franz and T. Kistler. Slim binaries. CACM, 40(12):87--94, Dec. 1997. |
....cache lines. Previous work in program compression has explored the compressibility of a wide range of program representations: source programs, intermediate representations, machine codes, etc. 24] The resulting compressed form either must be decompressed (and perhaps compiled) before execution [9, 10, 11] or it can be executed (or interpreted [13, 21] without decompression [6, 12] The first method results in a smaller compressed representation than the second, but requires the time and space overhead of decompression before execution. We avoid requiring a large amount of additional space to ....
M. Franz and T. Kistler. Slim binaries. Commun. ACM 40, 12 (Dec.), 87--94.
....of the total memory footprint of the data structures required by other analyses in Squeeze. 8. RELATED WORK There is a considerable body of work on code compression, but much of this focuses on compressing executable les as much as possible in order to reduce storage or transmission costs [10, 11, 12, 13, 16, 17, 19]. These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [10, 11, 12, 13] which can be problematic for limited memory ....
.... to reduce storage or transmission costs [10, 11, 12, 13, 16, 17, 19] These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [10, 11, 12, 13] which can be problematic for limited memory devices or require special hardware support for executing the compressed code directly [16, 17] By contrast, programs compacted using our techniques can be executed directly without any decompression or special hardware support. Most of the previous ....
M. Franz and T. Kistler. Slim binaries. Commun. ACM, 40(12):87-94, Dec. 1997.
....programs are expanded to full size native programs. Although these techniques do not save space at execution time, they provide some of the smallest program representations. 21 2.5. 1 Slim binaries Franz and Kistler developed a machine independent distribution format called slim binaries [Franz94, Franz97]. The slim binary format is a compressed version of the abstract syntax tree (AST) in the compiler. The compression is done by using a dictionary of sub trees previously seen in the AST. When the program is run, the loader reads the slim binary and generates native code on the fly. The process is ....
M. Franz and T. Kistler, "Slim binaries", Communications of the ACM, 40(12):87--94, December 1997.
....for the relative size of 1) code in the compacted binaries 2) data in the compacted binaries 3) code removed when applying code compaction only 4) additional code removed due to combined analysis and 5) data removed from the program. Each program is annotated with its full size in MB. sion costs [8, 9, 10, 11, 14, 15, 17]. These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [8, 9, 10, 11] which can be problematic for limited memory ....
....with its full size in MB. sion costs [8, 9, 10, 11, 14, 15, 17] These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [8, 9, 10, 11] which can be problematic for limited memory devices or require special hardware support for executing the compressed code directly [14, 15] By contrast, programs compacted using our techniques can be executed directly without any decompression or special hardware support. Most of the previous ....
M. Franz and T. Kistler. Slim binaries. Commun. ACM, 40(12):87-94, Dec. 1997.
....the dynamically linked programs consist for a large part of a dynamic string and symbol table. 6. RELATED WORK There is a considerable body of work on code compression, but much of this focuses on compressing executable files as much as possible in order to reduce storage or transmission costs [8, 10, 11, 12, 14, 15, 17]. These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [8, 10, 11, 12] which can be problematic for limited memory ....
.... to reduce storage or transmission costs [8, 10, 11, 12, 14, 15, 17] These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [8, 10, 11, 12] which can be problematic for limited memory devices or require special hardware support for executing the compressed code directly [14, 15] By contrast, programs compacted using our techniques can be executed directly without any decompression or special hardware support. Most of the ....
M. Franz and T. Kistler. Slim binaries. Commun. ACM, 40(12):87--94, Dec. 1997.
....program size has explored the compressiblity of a wide range of program representations: source languages, intermediate representations, machine codes, etc. van de Wiel 2000] The resulting compressed form either must be decompressed (and perhaps compiled) before execution [Ernst et al. 1997; Franz 1997; Franz and Kistler 1997] or it can be executed (or interpreted [Fraser and Proebsting 1995; Proebsting 1995] without decompression [Cooper and McIntosh 1999; Fraser et al. 1984] The rst method results in a smaller compressed representation than the second, but requires the overhead of ....
....size has explored the compressiblity of a wide range of program representations: source languages, intermediate representations, machine codes, etc. van de Wiel 2000] The resulting compressed form either must be decompressed (and perhaps compiled) before execution [Ernst et al. 1997; Franz 1997; Franz and Kistler 1997], or it can be executed (or interpreted [Fraser and Proebsting 1995; Proebsting 1995] without decompression [Cooper and McIntosh 1999; Fraser et al. 1984] The rst method results in a smaller compressed representation than the second, but requires the overhead of decompression before execution. ....
[Article contains additional citation context not shown here]
Franz, M. and Kistler, T. 1997. Slim binaries. Commun. ACM 40, 12 (Dec.), 87-94.
....to the code and data compaction, but also to the removal of unnecessary stack spills by Squeeze. 8. RELATED WORK There is a considerable body of work on code compression, but much of this focuses on compressing executable les as much as possible in order to reduce storage or transmission costs [5, 6, 7, 8, 11, 12]. These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [5, 6, 7, 8] which can be problematic for limited memory devices or ....
.... order to reduce storage or transmission costs [5, 6, 7, 8, 11, 12] These approaches generally produce compressed representables that are smaller than those obtained using our approach, but have the drawback that they must either be decompressed to their original size before they can be executed [5, 6, 7, 8] which can be problematic for limited memory devices or require special base code compacted code and data compaction program text binary text binary text binary 164.gzip 57592 318592 30464 (52.8 ) 228480 (71.7 ) 29472 (51.2 ) 211888 (66.5 ) 175.vpr 100108 542544 62912 (62.8 ) 411472 (75.8 ) ....
M. Franz and T. Kistler. Slim binaries. Commun. ACM, 40(12):87-94, Dec. 1997.
....code. As profile information accumulates from successive runs, FX 32 re optimizes the application. Currently, much virtual machine development is motivated by the desire for platform independence. A number of recent virtual architectures besides Java attempt to satisfy the desire. Oberon [10], Inferno [11] Python [12] ANDF [13, 14] Objective Caml [15, 16] and Oblique [17] are such virtual architectures. Other languages take advantage of these machine independent platforms by compiling to a virtual architecture. Scheme, in the form of Kawa [18] and IBM REXX, in the from of NetRexx ....
M. Franz, T. Kistler, "Slim Binaries," Technical Report No. 96-24, Dept. of Info. and Comp. Sci., Univ. of California, Irvine, June 1996.
....in this area has shown that grouping semantically related components of a binary together and compressing these groups with an adaptive compression scheme can achieve large space savings. Clausen et al. 98] shows that factoring common code sequences can reduce code size by 30 . Slim Binaries [Franz and Kistler 97] use predictive compression on abstract syntax trees to reduce complete application size by a factor of 3. Ernst et al. 97] shows that move to front encoding followed by Lempel Ziv compression on separate streams for opcodes and operands can reduce code size by a factor of 4.9. ....
Franz, M. and Kistler, T. "Slim Binaries." Communications of the ACM, 40:12, 87-94; December 1997.
....an 84 compression ratio for the call dictionary method. Their compression results are based on benchmarks compiled for the Texas Instruments TMS320C25 DSP. 2.5 Load time representations 2.5. 1 Slim Binaries Franz and Kistler developed a machine independent distribution format called slim binaries [Franz94, Franz97]. The slim binary format is a compressed version of the abstract syntax tree (AST) in the compiler. The compression is done by using a dictionary of sub trees previously seen in the AST. When the program is run, the loader reads the slim binary and generates native code on the fly. The benefit of ....
....the time to load the program into memory. The time for code generation is partially hidden because it can be done at the same time that the program is being loaded. Franz and Kistler have reported that loading and generating code for a slim binary is nearly as fast as loading a native binary [Franz97]. 13 Even though the slim binary format represents programs in a very small format (smaller than 1 3 the size of a PowerPC binary) this size does not include the cost of the code generator. Slim binaries may work well to reduce network transmission time of programs, but they are not suitable ....
M. Franz and T. Kistler, "Slim binaries", Communications of the ACM, 40(12):87--94, December 1997.
....representation of the program can be derived from the program distribution media, with all optimizations based on this intermediate form. In practice, there are a number of alternatives for achieving this, including executable editing techniques [LS95, RVL97] and compact program representations [FK96]. Optimization must be transparent to the user. We assume that the people who use computers are non specialists with no background in computer science or compilation. Optimization should be transparent in that the user does not need to understand or actively participate in the optimization ....
M. Franz and T. Kistler, "Slim Binaries." Technical Report No. 96-24, Department of Information and Computer Science, University of California, Irvine, June 1996.
....increased size of the generated interpreter. The approach of using a specialized interpreter could also be viable for embedded systems, e.g. by specializing the interpreter with respect to the general run time environment. Franz and Kistler present SLIM binaries as an alternative to Java bytecode [5]. SLIM binaries provide a highly compact platform independent structured program representation, designed to be translated into binary code by an optimizing just in time compiler. Due to the structured representation which can include information needed for optimizations, the compilation overhead ....
Michael Franz and Thomas Kistler. Slim binaries. CACM, 40(12):87--94, December 1997.
....especially when code needs to be stored on embedded devices. Processor performance has increased exponentially over storage access time in the last decade. It is therefore reasonable to investigate compression as a means of using additional processor cycles to decrease the demand on storage access[4], leading to a net gain in performance. Our prototype implementation compresses Java ASTs, which are then compiled to native code, thereby circumventing compilation into bytecode and execution on the JVM. We chose Java as the language to compress because there have already been considerable ....
M. Franz and T. Kistler; "Slim Binaries"; Communications of the ACM, 40:12, pp. 87-94; 1997.
....low bandwidth wireless connectivity becomes pervasive. Hence, a compact universal representation for mobile code is required. The search for such a universal representation is the subject of much current research [Engler 1996, Inferno, Lindholm et al. 1996] including recent work of the author [Franz Kistler 1996, Kistler Franz 1997] Although Sun Microsystems Java technology is now the de facto standard for portable applets distributed across the Internet, it remains surprisingly simple to provide alternatives to this platform, even within the context of commercial browser software. We have created ....
....Juice components, and of a family of plug in extensions for two popular commercial WWW browsers that enable these browsers to execute Juice based content. 2. An Effective Representation for Mobile Code Our mobile code architecture is based on a software distribution format called slim binaries [Franz Kistler 1996] that constitutes a radical departure from traditional software portability solutions. Unlike the common approach of representing mobile programs as instruction sequences for a virtual machine, an approach taken both with p code [Nori et al. 1976] as well as with Java byte code [Lindholm et al. ....
M. Franz and T. Kistler (1996); "Slim Binaries"; Communications of the ACM, to appear; also available as Technical Report No. 96-24, Department of Information and Computer Science, University of California, Irvine.
....the Oberon environment. Hence, Juice applets under construction can be tested interactively without having to exit the Figure 1: Java Applet (left) vs. Juice Applet (right) development environment. 3 DISTRIBUTING JUICE APPLETS Juice s code distribution format, which we call slim binaries [2], is based on the Ph.D. thesis work of the first author [4] The slim binary format differs considerably from virtual machine representations such as p Code [12] or Java byte codes [8] in that it does not resemble executable code. Instead, it is based on a tree shaped program representation as is ....
M. Franz and T. Kistler; "Slim Binaries"; Communications of the ACM, 40:12, to appear; also available as Technical Report No. 96-24, Department of Information and Computer Science, University of California, Irvine; 1996.
No context found.
M. Franz and T. Kistler. Slim binaries. CACM, 40(12):87--94, Dec. 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC