Title
Idiom recognition framework using topological embedding
Abstract
Modern processors support hardware-assist instructions (such as TRT and TROT instructions on the IBM System z) to accelerate certain functions such as delimiter search and character conversion. Such special instructions are often used in high-performance libraries, but their exploitation in optimizing compilers has been limited. We devised a new idiom recognition technique based on a topological embedding algorithm to detect idiom patterns in the input programs more aggressively than in previous approaches using exact pattern matching. Our approach can detect a pattern even if the code segment does not exactly match the idiom. For example, we can detect a code segment that includes additional code within the idiom pattern. We also propose an instruction simplification for the idiom recognition. This optimization analyzes all of the usages of the output of the optimized code for a specific idiom. If we find that we do not need an actual value for the output but only a value in a subrange, then we can assign a value in that subrange as the output. The code generation can generate faster code with this optimization. We implemented our new idiom recognition approach based on the Java Just-In-Time (JIT) compiler that is part of the J9 Java Virtual Machine, and we supported several important idioms for the special hardware-assist instructions on the IBM System z and on some models of the IBM System p. To demonstrate the effectiveness of our technique, we performed two experiments. The first experiment was to see how many more patterns we can detect compared to the previous approach. The second experiment measured the performance improvements over the previous approaches. For the first experiment, we used the Java Compatibility Kit (JCK) API tests. For the second experiment we used the IBM XML parser, SPECjvm98, and SPCjbb2000. In summary, relative to a baseline implementation using exact pattern matching, our algorithm converted 76% more loops in JCK tests. On a z9, we also observed significant average performance improvement of the XML parser by 54%, of SPECjvm98 by 1.9%, and of SPECjbb2000 by 4.4%. Finally, we observed that the JIT compilation time increased by only 0.32% to 0.44%.
Year
DOI
Venue
2013
10.1145/2512431
ACM Transactions on Architecture and Code Optimization
Keywords
Field
DocType
new idiom recognition approach,topological embedding,code segment,specific idiom,ibm system,important idiom,new idiom recognition technique,previous approach,exact pattern matching,idiom pattern,idiom recognition framework,idiom recognition,jit,java
Programming language,Computer science,Code segment,Theoretical computer science,Just-in-time compilation,Initialization-on-demand holder idiom,Topology,Parallel computing,Code generation,Compiler,Pattern matching,Java,Delimiter
Journal
Volume
Issue
ISSN
10
3
1544-3566
Citations 
PageRank 
References 
0
0.34
20
Authors
5
Name
Order
Citations
PageRank
Motohiro Kawahito119713.92
Hideaki Komatsu241034.00
Takao Moriyama3686.20
Hiroshi Inoue400.34
Toshio Nakatani574156.80