{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,4]],"date-time":"2023-09-04T20:28:39Z","timestamp":1693859319784},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"3","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Database Syst."],"published-print":{"date-parts":[[2006,9]]},"abstract":"<jats:p>\n            Instruction-cache misses account for up to 40% of execution time in online transaction processing (OLTP) database workloads. In contrast to data cache misses, instruction misses cannot be overlapped with out-of-order execution. Chip design limitations do not allow increases in the size or associativity of instruction caches that would help reduce misses. On the contrary, the effective instruction cache size is expected to further decrease with the adoption of multicore and multithreading chip designs (multiple on-chip processor cores and multiple simultaneous threads per core). Different concurrent database threads, however, execute similar instruction sequences over their lifetime, too long to be captured and exploited in hardware. The challenge, from a software designer's point of view, is to identify and exploit common code paths across threads executing arbitrary operations, thereby eliminating extraneous instruction misses.In this article, we describe\n            <jats:italic>Synchronized Threads through Explicit Processor Scheduling<\/jats:italic>\n            (STEPS), a methodology and tool to increase instruction locality in database servers executing transaction processing workloads. STEPS works at two levels to increase reusability of instructions brought in the cache. At a higher level, synchronization barriers form\n            <jats:italic>teams<\/jats:italic>\n            of threads that execute the same system component. Within a team, STEPS schedules special fast context-switches at very fine granularity to reuse sets of instructions across team members. To find points in the code where context-switches should occur, we develop\n            <jats:italic>autoSTEPS<\/jats:italic>\n            , a code profiling tool that runs directly on the DBMS binary. STEPS can minimize both capacity and conflict instruction cache misses for arbitrarily long code paths.We demonstrate the effectiveness of our approach on\n            <jats:italic>Shore<\/jats:italic>\n            , a research prototype database system shown to be governed by similar bottlenecks as commercial systems. Using microbenchmarks on real and simulated processors, we observe that STEPS eliminates up to 96% of instruction-cache misses for each additional team thread and at the same time eliminates up to 64% of mispredicted branches by providing a repetitive execution pattern to the processor. When performing a full-system evaluation on real hardware using TPC-C, the industry-standard transactional benchmark, STEPS eliminates two-thirds of instruction-cache misses and provides up to 1.4 overall speedup.\n          <\/jats:p>","DOI":"10.1145\/1166074.1166079","type":"journal-article","created":{"date-parts":[[2006,10,18]],"date-time":"2006-10-18T18:11:32Z","timestamp":1161195092000},"page":"887-920","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["Improving instruction cache performance in OLTP"],"prefix":"10.1145","volume":"31","author":[{"given":"Stavros","family":"Harizopoulos","sequence":"first","affiliation":[{"name":"MIT CSAIL, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anastassia","family":"Ailamaki","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,9]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Ailamaki A. DeWitt D. J. Hill M. D. and Skounakis M. 2001a. Weaving relations for cache performance. In VLDB \u201801: Proceedings of the 27th International Conference on Very Large Data Bases. Morgan Kaufmann San Francisco CA 169--180.   Ailamaki A. DeWitt D. J. Hill M. D. and Skounakis M. 2001a. Weaving relations for cache performance. In VLDB \u201801: Proceedings of the 27th International Conference on Very Large Data Bases. Morgan Kaufmann San Francisco CA 169--180."},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the Fourth Workshop on Computer Architecture Evaluation Using Commercial Workloads (CAECW).","author":"Ailamaki A."},{"key":"e_1_2_1_3_1","volume-title":"VLDB '99: Proceedings of the 25th International Conference on Very Large Data Bases. Morgan Kaufmann","author":"Ailamaki A."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/945506.945509"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/279358.279363"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of Department of Defense HPCMP Users Group Conference.","author":"Browne S."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/191839.191915"},{"key":"e_1_2_1_8_1","volume-title":"ICCD '97: Proceedings of the 1997 International Conference on Computer Design (ICCD '97)","author":"Chen I.-C. K."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.889095"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the 17th International Conference on Data Engineering. IEEE Computer Society Press","author":"Graefe G."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1054907.1054914"},{"key":"e_1_2_1_12_1","volume-title":"VLDB '04: Proceedings of the 30th International Conference on Very Large Data Bases. Morgan Kaufmann","author":"Harizopoulos S."},{"key":"e_1_2_1_13_1","volume-title":"Computer Architecture: A Quantitative Approach","author":"Hennessy J. L.","year":"1996","edition":"2"},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the Second Workshop on Computer Architecture Evaluation Using Commercial Workloads.","author":"Jayasimha J."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/279358.279364"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/279358.279367"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.982916"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/195473.195524"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 17th International Conference on Data Engineering. IEEE Computer Society Press","author":"Padmanabhan S."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/379240.379260"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/291069.291067"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the USENIX Windows NT Workshop.","author":"Romer T."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224078"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/243846.243854"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the 15th IBM Center for Advanced Studies Conference (Oct).","author":"Shao M."},{"key":"e_1_2_1_27_1","volume-title":"VLDB '94: Proceedings of the 20th International Conference on Very Large Data Bases. Morgan Kaufmann","author":"Shatdal A."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/178243.178260"},{"key":"e_1_2_1_29_1","doi-asserted-by":"crossref","unstructured":"Stets R. Gharachorloo K. and Barroso L. A. 2002. A detailed comparison of two transaction processing workloads. In WWC-5: IEEE 5th Annual Workshop on Workload Characterization.  Stets R. Gharachorloo K. and Barroso L. A. 2002. A detailed comparison of two transaction processing workloads. In WWC-5: IEEE 5th Annual Workshop on Workload Characterization.","DOI":"10.1109\/WWC.2002.1226492"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1007568.1007592"}],"container-title":["ACM Transactions on Database Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1166074.1166079","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T21:20:05Z","timestamp":1672262405000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1166074.1166079"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,9]]},"references-count":30,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2006,9]]}},"alternative-id":["10.1145\/1166074.1166079"],"URL":"https:\/\/doi.org\/10.1145\/1166074.1166079","relation":{},"ISSN":["0362-5915","1557-4644"],"issn-type":[{"value":"0362-5915","type":"print"},{"value":"1557-4644","type":"electronic"}],"subject":[],"published":{"date-parts":[[2006,9]]},"assertion":[{"value":"2006-09-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}