Network


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

Hotspot


Dive into the research topics where Yefim Shuf is active.

Publication


Featured researches published by Yefim Shuf.


symposium on principles of programming languages | 2002

Exploiting prolific types for memory management and optimizations

Yefim Shuf; Manish Gupta; Rajesh Bordawekar; Jaswinder Pal Singh

In this paper, we introduce the notion of prolific and non-prolific types, based on the number of instantiated objects of those types. We demonstrate that distinguishing between these types enables a new class of techniques for memory management and data locality, and facilitates the deployment of known techniques. Specifically, we first present a new type-based approach to garbage collection that has similar attributes but lower cost than generational collection. Then we describe the short type pointer technique for reducing memory requirements of objects (data) used by the program. We also discuss techniques to facilitate the recycling of prolific objects and to simplify object co-allocation decisions.We evaluate the first two techniques on a standard set of Java benchmarks (SPECjvm98 and SPECjbb2000). An implementation of the type-based collector in the Jalapeño VM shows improved pause times, elimination of unnecessary write barriers, and reduction in garbage collection time (compared to the analogous generational collector) by up to 15%. A study to evaluate the benefits of the short-type pointer technique shows a potential reduction in the heap space requirements of programs by up to 16%.


conference on object-oriented programming systems, languages, and applications | 2002

Creating and preserving locality of java applications at allocation and garbage collection times

Yefim Shuf; Manish Gupta; Hubertus Franke; Andrew W. Appel; Jaswinder Pal Singh

The growing gap between processor and memory speeds is motivating the need for optimization strategies that improve data locality. A major challenge is to devise techniques suitable for pointer-intensive applications. This paper presents two techniques aimed at improving the memory behavior of pointer-intensive applications with dynamic memory allocation, such as those written in Java. First, we present an allocation time object placement technique based on the recently introduced notion of prolific (frequently instantiated) types. We attempt to co-locate, at allocation time, objects of prolific types that are connected via object references. Then, we present a novel locality based graph traversal technique. The benefits of this technique, when applied to garbage collection (GC), are twofold: (i) it improves the performance of GC due to better locality during a heap traversal and (ii) it restructures surviving objects in a way that enhances locality. On multiprocessors, this technique can further reduce overhead due to synchronization and false sharing. The experimental results, on a well-known suite of Java benchmarks (SPECjvm98 [26], SPECjbb2000 [27], and jOlden [4]), from an implementation of these techniques in the Jikes RVM [1], are very encouraging. The object co-allocation technique improves application performance by up to 21% (10% on average) in the Jikes RVM configured with a non-copying mark-and-sweep collector. The locality-based traversal technique reduces GC times by up to 20% (10% on average) and improves the performance of applications by up to 14% (6% on average) in the Jikes RVM configured with a copying semi-space collector. Both techniques combined can improve application performance by up to 22% (10% on average) in the Jikes RVM configured with a non-copying mark-and-sweep collector.


measurement and modeling of computer systems | 2006

A characterization of a java-based commercial workload on a high-end enterprise server

Ian Steiner; Yefim Shuf

While past studies with simple Java benchmarks like SPECjvm98 and SPECjbb2000 have been integral in advancing the industry, this paper illustrates some of the characteristics of a more complex and realistic 3-Tier J2EE (Java 2 Enterprise Edition) commercial workload, SPECjAppServer2004.In the course of this study, we both validate and disprove certain assumptions commonly made by researchers about Java workloads. For instance, on a tuned system having a heap of the appropriate size, the fraction of CPU time spent on garbage collection (GC) for this complex workload is small (<2%) compared to commonly studied benchmarks like SPECjbb2000 and SPECjvm98.In addition to high-level statistics on garbage collection and the execution profile, detailed hardware performance characteristics, such as the branch misprediction rates and lock contention, are evaluated and used to motivate future research directions. We also use statistical correlation to evaluate and compare the relative significance of different hardware events to the overall performance of the system.


Archive | 2002

A Study of Memory Behavior of Java Workloads

Yefim Shuf; Mauricio J. Serrano; Manish Gupta; Jaswinder Pal Singh

This paper studies the memory behavior of important Java workloads used in benchmarking Java Virtual Machines (JVMs), based on instrumentation of both application and library code in a state-of-the-art JVM, and provides structured information about these workloads to help guide systems’ design. We begin by characterizing the inherent memory behavior of the benchmarks, such as information on the breakup of heap accesses among different categories and on the hotness of references to fields and methods. We then provide detailed information about misses in the data TLB and caches, including the distribution of misses over different kinds of accesses and over different methods. In the process, we make interesting discoveries about TLB behavior and limitations of data prefetching schemes discussed in the literature in dealing with pointerintensive Java codes. Throughout this paper, we develop a set of recommendations to computer architects and compiler writers on how to optimize computer systems and system software to run Java programs more efficiently. This paper also makes the first attempt to compare the characteristics of SPEC JVM98 to those of a server-oriented benchmark, pBOB, and explain why the current set of SPEC JVM98 benchmarks may not be adequate for a comprehensive and objective evaluation of JVMs and just-in-time (JIT) compilers.


network and parallel computing | 2004

Whole-Stack Analysis and Optimization of Commercial Workloads on Server Systems

Clement Richard Attanasio; Jong-Deok Choi; Niteesh Dubey; Kattamuri Ekanadham; Manish Gupta; Tatsushi Inagaki; Kazuaki Ishizaki; Joefon Jann; Robert D. Johnson; Toshio Nakatani; Il Park; Pratap Pattnaik; Mauricio J. Serrano; Stephen Edwin Smith; Ian Steiner; Yefim Shuf

The evolution of the Web as an enabling tool for e-business introduces a challenge to understanding the execution behavior of large-scale middleware systems, such as J2EE [2], and their commercial workloads. This paper presents a brief description of the whole-stack analysis and optimization system – being developed at IBM Research – for commercial workloads on Websphere Application Server (WAS) [5] – IBM’s implementation of J2EE – running on IBM’s pSeries [4] and zSeries [3] server systems.


rough sets and knowledge technology | 2014

An Approach for In-Database Scoring of R Models on DB2 for z/OS

Yikun Xian; Jie Huang; Yefim Shuf; Gene Y. C. Fuh; Zhen Gao

Business Analytics is comprehensively used in many enterprises with large scale of data from databases and analytics tools like R. However, isolation between database and data analysis tool increases the complexity of business analytics, for it will cause redundant steps such as data migration and engender latent security problem. In this paper, we propose an in-database scoring mechanism, enabling application developers to consume business analytics technology. We also validate the feasibility of the mechanism using R engine and IBM DB2 for z/OS. The result evinces that in-database scoring technique can be applicable to relational databases, largely simplify the process of business analytics, and more importantly, keep data governance privacy, performance and ownership.


measurement and modeling of computer systems | 2001

Characterizing the memory behavior of Java workloads: a structured view and opportunities for optimizations

Yefim Shuf; Mauricio J. Serrano; Manish Gupta; Jaswinder Pal Singh


Archive | 2002

Method for efficient garbage collection based on object type

Yefim Shuf; Manish Gupta; Rajesh Bordawekar


Archive | 2000

Method and apparatus for efficient virtual memory management

Yefim Shuf; Hubertus Franke; Manish Gupta; Marc Snir


Archive | 2002

Multiple page size support in the Linux kernel

Simon Winwood; Yefim Shuf; Hubertus Franke

Researchain Logo
Decentralizing Knowledge