1 / 8

Thesis Proposal

Thesis Proposal. Template Recognition of Bytecodes and Execution using Hardware Architecture. (Vectorization of Java). by Ian Reddy. MatMul Benchmark. MatMul is a benchmark, which involves matrices. Performs multiplication, time estimated for 100 cycles.

terrel
Download Presentation

Thesis Proposal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Thesis Proposal Template Recognition of Bytecodes and Execution using Hardware Architecture. (Vectorization of Java) by Ian Reddy

  2. MatMul Benchmark • MatMul is a benchmark, which involves matrices. • Performs multiplication, time estimated for 100 cycles. • Executed it using the mentioned Libraries. • Note: JNI was used in case of VSIPL (selectively wrapped). • Results purely based on my LINUX box, 2.2 Ghz 608 MB RAM variation may occur. • May have used libraries poorly

  3. Leads • Usage of Assembly powers performance. • Usage of Instruction Set will improve performance • Scan bytecodes, for patterns. (refers to my title of Template recognition of bytecodes) • In line assembly code ...[instruction sets] (execution using hardware architecture).

  4. More To scan for computation intensive patterns in bytecodes • Need a program which can scan bytecodes • Need a program that can modify bytecodes • Do I have to write a program to do this (fairly complex job) • Any Open Source Programs Available on the Net ? YES • ASM • BCEL (Byte code Engineering Library) • JavaAssist

  5. ASM (nutshell) • Bytecode manipulation framework • Designed and Implemented to be small and fast • Purely Implemented in Java • Runtime jar is only 25kb • Abstracts bytecode complexity from the User. • Implemented some sample programs successfully. • only needs the runtime jar in the class path • Complex (clearly my view)

  6. BCEL • Bytecode Engineering Library • Analyse, Create and Manipulate java class files • Allows creation and modifications of class files from the scratch • runtime jar size is 350kb • Not thread safe • Implemented some sample programs • Huge API set • Easy to Understand. • just needs the jar on the class path

  7. JavaAssist • Capable of creation, manipulation and editing class files during runtime. • Based on java vocabulary • runtime jar size is 425kb • Source code level and bytecode level API available • Bytecode can be directly inserted as text, Java Assist will compile on the fly • Implemented some sample programs • Large API set • Easy to Understand. • just needs the jar on the classpath

  8. Conclusion • Decided to go with the JavaAssist • Source and bytecode level API available • bytecodes can be inserted in the source, in text form. • May be large in size. More: • Use a standard class for test case • first recognize complex patterns at bytecode level Thank you

More Related