Skip to main content

Showing 1–11 of 11 results for author: Chabbi, M

.
  1. arXiv:2312.16598  [pdf, other

    cs.SE cs.PF

    EasyView: Bringing Performance Profiles into Integrated Development Environments

    Authors: Qidong Zhao, Milind Chabbi, Xu Liu

    Abstract: Dynamic program analysis (also known as profiling) is well-known for its powerful capabilities of identifying performance inefficiencies in software packages. Although a large number of dynamic program analysis techniques are developed in academia and industry, very few of them are widely used by software developers in their regular software develo** activities. There are three major reasons. Fi… ▽ More

    Submitted 27 December, 2023; originally announced December 2023.

  2. arXiv:2312.12002  [pdf, other

    cs.SE cs.PF cs.PL

    Unveiling and Vanquishing Goroutine Leaks in Enterprise Microservices: A Dynamic Analysis Approach

    Authors: Georgian-Vlad Saioc, Dmitriy Shirchenko, Milind Chabbi

    Abstract: Go is a modern programming language gaining popularity in enterprise microservice systems. Concurrency is a first-class citizen in Go with lightweight ``goroutines'' as the building blocks of concurrent execution. Go advocates message-passing to communicate and synchronize among goroutines. Improper use of message passing in Go can result in ``partial deadlocks'' , a subtle concurrency bug where a… ▽ More

    Submitted 19 December, 2023; originally announced December 2023.

    Comments: 11 pages, 6 figures, to be published in CGO 2024

    ACM Class: D.2.5; D.3.m

  3. arXiv:2304.11983  [pdf, other

    cs.DC

    Protecting Locks Against Unbalanced Unlock()

    Authors: Vivek Shahare, Milind Chabbi, Nikhil Hegde

    Abstract: The lock is a building-block synchronization primitive that enables mutually exclusive access to shared data in shared-memory parallel programs. Mutual exclusion is typically achieved by guarding the code that accesses the shared data with a pair of lock() and unlock() operations. Concurrency bugs arise when this ordering of operations is violated. In this paper, we study a particular pattern of m… ▽ More

    Submitted 24 April, 2023; originally announced April 2023.

    Comments: Paper Accepted to the 35th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 23)

  4. A Study of Real-World Data Races in Golang

    Authors: Milind Chabbi, Murali Krishna Ramanathan

    Abstract: The concurrent programming literature is rich with tools and techniques for data race detection. Less, however, has been known about real-world, industry-scale deployment, experience, and insights about data races. Golang (Go for short) is a modern programming language that makes concurrency a first-class citizen. Go offers both message passing and shared memory for communicating among concurrent… ▽ More

    Submitted 5 April, 2022; v1 submitted 2 April, 2022; originally announced April 2022.

    Comments: To appear in the proceedings of the 43rd Programming Language Design and Implementation (PLDI 2022)

  5. OJXPerf: Featherlight Object Replica Detection for Java Programs

    Authors: Bolun Li, Hao Xu, Qidong Zhao, Pengfei Su, Milind Chabbi, Shuyin Jiao, Xu Liu

    Abstract: Memory bloat is an important source of inefficiency in complex production software, especially in software written in managed languages such as Java. Prior approaches to this problem have focused on identifying objects that outlive their life span. Few studies have, however, looked into whether and to what extent myriad objects of the same type are identical. A quantitative assessment of identical… ▽ More

    Submitted 23 March, 2022; originally announced March 2022.

    Journal ref: 44th International Conference on Software Engineering (ICSE 2022)

  6. arXiv:2106.01710  [pdf, other

    cs.DC cs.PF cs.PL

    Optimistic Concurrency Control for Real-world Go Programs (Extended Version with Appendix)

    Authors: Zhizhou Zhang, Milind Chabbi, Adam Welc, Timothy Sherwood

    Abstract: We present a source-to-source transformation framework, GOCC, that consumes lock-based pessimistic concurrency programs in the Go language and transforms them into optimistic concurrency programs that use Hardware Transactional Memory (HTM). The choice of the Go language is motivated by the fact that concurrency is a first-class citizen in Go, and it is widely used in Go programs. GOCC performs ri… ▽ More

    Submitted 3 June, 2021; originally announced June 2021.

  7. arXiv:2104.03388  [pdf, other

    cs.PF cs.PL

    DJXPerf: Identifying Memory Inefficiencies via Object-centric Profiling for Java

    Authors: Bolun Li, Pengfei Su, Milind Chabbi, Shuyin Jiao, Xu Liu

    Abstract: Java is the "go-to" programming language choice for develo** scalable enterprise cloud applications. In such systems, even a few percent CPU time savings can offer a significant competitive advantage and cost saving. Although performance tools abound in Java, those that focus on the data locality in the memory hierarchy are rare. In this paper, we present DJXPerf, a lightweight, object-centric… ▽ More

    Submitted 7 April, 2021; originally announced April 2021.

    Comments: 13 pages (including 2-page reference), 5 figures, 2 tables

  8. arXiv:1906.12066  [pdf, other

    cs.PF cs.PL cs.SE

    Pinpointing Performance Inefficiencies in Java

    Authors: Pengfei Su, Qingsen Wang, Milind Chabbi, Xu Liu

    Abstract: Many performance inefficiencies such as inappropriate choice of algorithms or data structures, developers' inattention to performance, and missed compiler optimizations show up as wasteful memory operations. Wasteful memory operations are those that produce/consume data to/from memory that may have been avoided. We present, JXPerf, a lightweight performance analysis tool for pinpointing wasteful m… ▽ More

    Submitted 28 June, 2019; originally announced June 2019.

    Comments: This is a full-version of our ESEC/FSE'2019 paper

  9. arXiv:1902.05462  [pdf, other

    cs.PF cs.PL cs.SE

    Redundant Loads: A Software Inefficiency Indicator

    Authors: Pengfei Su, Shasha Wen, Hailong Yang, Milind Chabbi, Xu Liu

    Abstract: Modern software packages have become increasingly complex with millions of lines of code and references to many external libraries. Redundant operations are a common performance limiter in these code bases. Missed compiler optimization opportunities, inappropriate data structure and algorithm choices, and developers' inattention to performance are some common reasons for the existence of redundant… ▽ More

    Submitted 14 February, 2019; originally announced February 2019.

    Comments: This paper is a full-version of our ICSE paper

  10. arXiv:1810.10045  [pdf, other

    cs.CL

    Language Modeling at Scale

    Authors: Mostofa Patwary, Milind Chabbi, Heewoo Jun, Jiaji Huang, Gregory Diamos, Kenneth Church

    Abstract: We show how Zipf's Law can be used to scale up language modeling (LM) to take advantage of more training data and more GPUs. LM plays a key role in many important natural language applications such as speech recognition and machine translation. Scaling up LM is important since it is widely accepted by the community that there is no data like more data. Eventually, we would like to train on terabyt… ▽ More

    Submitted 23 October, 2018; originally announced October 2018.

  11. arXiv:1612.09576  [pdf, other

    cs.DC

    Correctness of Hierarchical MCS Locks with Timeout

    Authors: Milind Chabbi, Abdelhalim Amer, Shasha Wen, Xu Liu

    Abstract: This manuscript serves as a correctness proof of the Hierarchical MCS locks with Timeout (HMCS-T) described in our paper titled "An Efficient Abortable-locking Protocol for Multi-level NUMA Systems" appearing in the proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. HMCS-T is a very involved protocol. The system is stateful; the values of prior acqu… ▽ More

    Submitted 30 December, 2016; originally announced December 2016.