Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Wed 25 Oct 2017 10:30 - 10:52 at Regency A - Types Chair(s): Kim Bruce

Direct sharing and storing of memory objects allows high-performance and low-overhead collaboration between parallel processes or application workflows with loosely coupled programs. However, sharing of objects is hindered by the inability to use subtype polymorphism which is common in object-oriented programming languages. That is because implementations of subtype polymorphism in modern compilers rely on using virtual tables stored at process-specific locations, which makes objects unusable in processes other than the creating process.

In this paper, we present SAVI Objects, objects with Sharing and Virtuality Incorporated. SAVI Objects support subtype polymorphism but can still be shared across processes and stored in persistent data structures. We propose two different techniques to implement SAVI Objects and evaluate the tradeoffs between them. The first technique is virtual table duplication which adheres to the virtual-table-based implementation of subtype polymorphism, but duplicates virtual tables for shared objects to fixed memory addresses associated with each shared memory region. The second technique is hashing-based dynamic dispatch which re-implements subtype polymorphism using hashing-based look-ups to a global virtual table.

Our results show that SAVI Objects enable direct sharing and storing of memory objects that use subtype polymorphism by adding modest overhead costs to object construction and dynamic dispatch time. SAVI Objects thus enable faster inter-process communication, improving the overall performance of production applications that share polymorphic objects.

Wed 25 Oct

Displayed time zone: Tijuana, Baja California change

10:30 - 12:00
TypesOOPSLA at Regency A
Chair(s): Kim Bruce Pomona College
10:30
22m
Talk
SAVI Objects: Sharing and Virtuality Incorporated
OOPSLA
Izzat El Hajj University of Illinois at Urbana-Champaign, USA, Thomas B. Jablin University of Illinois at Urbana-Champaign, USA / Multicoreware, USA, Dejan Milojicic Hewlett Packard Labs, USA, Wen-mei Hwu University of Illinois at Urbana-Champaign, USA
DOI
10:52
22m
Talk
A Simple Soundness Proof for Dependent Object Types
OOPSLA
Marianna Rapoport University of Waterloo, Canada, Ifaz Kabir University of Waterloo, Canada, Paul He University of Waterloo, Canada, Ondřej Lhoták University of Waterloo, Canada
DOI
11:15
22m
Talk
Unifying Typing and Subtyping
OOPSLA
Yanpeng Yang University of Hong Kong, China, Bruno C. d. S. Oliveira University of Hong Kong, China
DOI
11:37
22m
Talk
Fast and Precise Type Checking for JavaScript
OOPSLA
Avik Chaudhuri Facebook, USA, Panagiotis Vekris University of California at San Diego, USA, Sam Goldman Facebook, USA, Marshall Roch Facebook, USA, Gabriel Levi Facebook, USA
DOI