Shared memory provides the fastest form of inter-process communication. Sharing polymorphic objects between different address spaces requires solving the issue of sharing pointers.
In this paper, we propose a method, named Indexed Virtual Tables (IVT for short), to share polymorphic objects efficiently. On object construction, the virtual table pointers are replaced with indexes, which are used to find the actual virtual table pointers on dynamic dispatch. Only a few addition and load instructions are needed for both operations. Experimental results show that the IVT can outperform prior techniques on both object construction time and dynamic dispatch time. We also apply the proposed IVT technique to several practical scenarios, resulting the improvement of overall performance.
Thu 24 Oct
|16:00 - 16:22|
Ulf AdamsGoogleLink to publication DOI
|16:22 - 16:45|
Rajkishore BarikUber Technologies Inc., Manu SridharanUniversity of California Riverside, Murali Krishna RamanathanUber Technologies Inc., Milind ChabbiUber Technologies Inc.DOI
|16:45 - 17:07|
Hashim SharifUniversity of Illinois at Urbana-Champaign, Prakalp SrivastavaUniversity of Illinois at Urbana-Champaign, Muhammad HuzaifaUniversity of Illinois at Urbana-Champaign, Maria KotsifakouUniversity of Illinois at Urbana-Champaign, Keyur JoshiUniversity of Illinois at Urbana-Champaign, Yasmin SaritaCornell University, Nathan ZhaoUniversity of Illinois at Urbana-Champaign, Vikram AdveUniversity of Illinois at Urbana-Champaign, Sasa MisailovicUniversity of Illinois at Urbana-Champaign, Sarita AdveUniversity of Illinois at Urbana-ChampaignDOI
|17:07 - 17:30|
Yu-Ping WangTsinghua University, China, Xu-Qiang HuTsinghua Univeraity, China, Zi-Xin ZouTsinghua Univeraity, China, Wende TanTsinghua University, China, Gang TanThe Pennsylvania State University, University Park, USADOI