Matches in SemOpenAlex for { <https://semopenalex.org/work/W3083317526> ?p ?o ?g. }
Showing items 1 to 73 of
73
with 100 items per page.
- W3083317526 endingPage "702" @default.
- W3083317526 startingPage "691" @default.
- W3083317526 abstract "All software in use today relies on libraries, including standard libraries (e.g., C, C++) and application-specific libraries (e.g., libxml, libpng). Most libraries are loaded in memory and dynamically linked when programs are launched, resolving symbol addresses across the applications and libraries. Dynamic linking has many benefits: It allows code to be reused between applications, conserves memory (because only one copy of a library is kept in memory for all the applications that share it), and allows libraries to be patched and updated without modifying programs, among numerous other benefits. However, these benefits come at the cost of performance. For every call made to a function in a dynamically linked library, a trampoline is used to read the function address from a lookup table and branch to the function, incurring memory load and branch operations. Static linking avoids this performance penalty, but loses all the benefits of dynamic linking. Given its myriad benefits, dynamic linking is the predominant choice today, despite the performance cost. In this work, we propose a speculative hardware mechanism to optimize dynamic linking by avoiding executing the trampolines for library function calls, providing the benefits of dynamic linking with the performance of static linking. Speculatively skipping the memory load and branch operations of the library call trampolines improves performance by reducing the number of executed instructions and gains additional performance by reducing pressure on the instruction and data caches, TLBs, and branch predictors. Because the indirect targets of library call trampolines do not change during program execution, our speculative mechanism never misspeculates in practice. We evaluate our technique on real hardware with production software and observe up to 4% speedup using only 1.5KB of on-chip storage." @default.
- W3083317526 created "2020-09-11" @default.
- W3083317526 creator A5001295015 @default.
- W3083317526 creator A5011067089 @default.
- W3083317526 creator A5014550838 @default.
- W3083317526 creator A5017778545 @default.
- W3083317526 creator A5034199630 @default.
- W3083317526 date "2015-03-14" @default.
- W3083317526 modified "2023-09-26" @default.
- W3083317526 title "Architectural Support for Dynamic Linking" @default.
- W3083317526 cites W2022911909 @default.
- W3083317526 cites W2058719553 @default.
- W3083317526 cites W2095667776 @default.
- W3083317526 cites W2095914779 @default.
- W3083317526 cites W2098010707 @default.
- W3083317526 cites W2098688018 @default.
- W3083317526 cites W2123845384 @default.
- W3083317526 cites W2125213362 @default.
- W3083317526 cites W2141181087 @default.
- W3083317526 cites W2149172130 @default.
- W3083317526 cites W2154884316 @default.
- W3083317526 cites W2172190421 @default.
- W3083317526 cites W2240667924 @default.
- W3083317526 cites W4237359875 @default.
- W3083317526 doi "https://doi.org/10.1145/2786763.2694392" @default.
- W3083317526 hasPublicationYear "2015" @default.
- W3083317526 type Work @default.
- W3083317526 sameAs 3083317526 @default.
- W3083317526 citedByCount "1" @default.
- W3083317526 countsByYear W30833175262019 @default.
- W3083317526 crossrefType "journal-article" @default.
- W3083317526 hasAuthorship W3083317526A5001295015 @default.
- W3083317526 hasAuthorship W3083317526A5011067089 @default.
- W3083317526 hasAuthorship W3083317526A5014550838 @default.
- W3083317526 hasAuthorship W3083317526A5017778545 @default.
- W3083317526 hasAuthorship W3083317526A5034199630 @default.
- W3083317526 hasConcept C111919701 @default.
- W3083317526 hasConcept C14036430 @default.
- W3083317526 hasConcept C149635348 @default.
- W3083317526 hasConcept C153247305 @default.
- W3083317526 hasConcept C41008148 @default.
- W3083317526 hasConcept C78458016 @default.
- W3083317526 hasConcept C86803240 @default.
- W3083317526 hasConcept C98986596 @default.
- W3083317526 hasConceptScore W3083317526C111919701 @default.
- W3083317526 hasConceptScore W3083317526C14036430 @default.
- W3083317526 hasConceptScore W3083317526C149635348 @default.
- W3083317526 hasConceptScore W3083317526C153247305 @default.
- W3083317526 hasConceptScore W3083317526C41008148 @default.
- W3083317526 hasConceptScore W3083317526C78458016 @default.
- W3083317526 hasConceptScore W3083317526C86803240 @default.
- W3083317526 hasConceptScore W3083317526C98986596 @default.
- W3083317526 hasIssue "1" @default.
- W3083317526 hasLocation W30833175261 @default.
- W3083317526 hasOpenAccess W3083317526 @default.
- W3083317526 hasPrimaryLocation W30833175261 @default.
- W3083317526 hasRelatedWork W2121854243 @default.
- W3083317526 hasRelatedWork W2349011119 @default.
- W3083317526 hasRelatedWork W2354060507 @default.
- W3083317526 hasRelatedWork W2356762897 @default.
- W3083317526 hasRelatedWork W2362866474 @default.
- W3083317526 hasRelatedWork W2371792015 @default.
- W3083317526 hasRelatedWork W2374512474 @default.
- W3083317526 hasRelatedWork W2382986841 @default.
- W3083317526 hasRelatedWork W2388417751 @default.
- W3083317526 hasRelatedWork W3098582471 @default.
- W3083317526 hasVolume "43" @default.
- W3083317526 isParatext "false" @default.
- W3083317526 isRetracted "false" @default.
- W3083317526 magId "3083317526" @default.
- W3083317526 workType "article" @default.