Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Nikola Grcevski is active.

Publication


Featured researches published by Nikola Grcevski.


symposium on code generation and optimization | 2013

Experiences in designing a robust and scalable interpreter profiling framework

Ian Gartley; Marius Pirvu; Vijay Sundaresan; Nikola Grcevski

Profile directed feedback (PDF) is a well known technique used to drive many compiler optimizations like basic block ordering and guarded devirtualization. These optimizations are particularly crucial in order to achieve good throughput performance in JEE applications that have a large code footprint. To effectively apply optimizations that rely on profiling information, a just-in-time (JIT) compiler must have access to profiling information that is accurate. One common source of profiling information in a Java virtual machine (JVM) is the interpreter. Typically methods are interpreted as a program ramps up, during which profiling information can be collected. However, obtaining useful and accurate information for large enterprise-class applications can be a challenge because of the memory and performance overhead associated with collecting and processing the large volumes of profiling data that is generated. This paper describes the challenges in maintaining the balance between throughput performance and profiling overhead in a production JIT compiler that is used by the IBM JDK. The scope of the performance overhead in terms of throughput, memory footprint and startup speed for large JEE class applications is introduced and various engineering solutions that were tried are detailed and compared in terms of experimental results. We found that the throughput improvement due to interpreter profiling (IP) can be as high as 58%, whereas the overhead measured in terms of application startup time could cost up to 57%. Our solutions to reducing profiling overhead managed to reduce the startup cost to only a few percent while maintaining the full throughput benefit. By discussing these approaches, this paper offers a balanced and practical overview on how to make PDF work well for enterprise-class applications in a production JIT compiler.


compiler construction | 2010

Mining opportunities for code improvement in a just-in-time compiler

Adam Jocksch; Marcel Mitran; Joran Siu; Nikola Grcevski; José Nelson Amaral

The productivity of a compiler development team depends on its ability not only to the design effective solutions to known code generation problems, but also to uncover potential code improvement opportunities. This paper describes a data mining tool that can be used to identify such opportunities based on a combination of hardware-profiling data and on compiler-generated counters. This data is combined into an Execution Flow Graph (EFG) and then FlowGSP, a new data mining algorithm, finds sequences of attributes associated with subpaths of the EFG. Many examples of important opportunities for code improvement in the IBM® Testarossa compiler are described to illustrate the usefulness of this data mining technique. This mining tool is specially useful for programs whose execution is not dominated by a small set of frequently executed loops. Information about the amount of space and time required to run the mining tool are also provided. In comparison with manual search through the data, the mining tool saved a significant amount of compiler development time and effort.


VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3 | 2004

Java TM just-in-time compiler and virtual machine improvements for server and middleware applications

Nikola Grcevski; Allan Kielstra; Kevin A. Stoodley; Mark G. Stoodley; Vijay Sundaresan


Archive | 2007

Copy-on-write optimization of immutable objects for object oriented languages

Mike Stephen Fulton; Nikola Grcevski; Derek B. Inglis


Archive | 2007

SYSTEMS, METHODS, AND COMPUTER PRODUCTS FOR JUST-IN-TIME COMPILATION FOR VIRTUAL MACHINE ENVIRONMENTS FOR FAST APPLICATION STARTUP AND MAXIMAL RUN-TIME PERFORMANCE

Nikola Grcevski; Derek B. Inglis; Marius Pirvu; Mark G. Stoodley


Archive | 2007

Lock reservation using cooperative multithreading and lightweight single reader reserved locks

Peter Wiebe Burka; Nikola Grcevski; Charles Brian Hall; Zhong L. Wang


Archive | 2005

Computer-implemented method, system and program product for establishing multiple read-only locks on a shared data object

Nikola Grcevski; Kevin A. Stoodley; Mark G. Stoodley; Vijay Sundaresan


Archive | 2008

Methods and Systems for Improving Hash Table Performance

Timothy Peter Ellison; Nikola Grcevski; David Kevin Siegwart


Archive | 2005

Transforming code to expose glacial constants to a compiler

Nikola Grcevski; Mark G. Stoodley


Archive | 2007

SPECULATIVE COMPUTATION LOCK COARSENING THROUGH THE USE OF LOCALIZED LOCK RESERVATION

Nikola Grcevski; Peter Wiebe Burka

Researchain Logo
Decentralizing Knowledge