This contains my bachelors thesis and associated tex files, code snippets and maybe more. Topic: Data Movement in Heterogeneous Memories with Intel Data Streaming Accelerator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

256 lines
8.6 KiB

  1. @ONLINE{intel:dsaspec,
  2. author = {Intel},
  3. title = {{Intel® Data Streaming Accelerator Architecture Specification}},
  4. date = {2022-09-16},
  5. url = {https://www.intel.com/content/www/us/en/content-details/671116/intel-data-streaming-accelerator-architecture-specification.html},
  6. urldate = {2023-11-15}
  7. }
  8. @ONLINE{intel:xeonbrief,
  9. author = {Intel},
  10. title = {{New Intel® Xeon® Platform Includes Built-In Accelerators for Encryption, Compression, and Data Movement}},
  11. date = {2022-12},
  12. url = {https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2022-12/storage-engines-4th-gen-xeon-brief.pdf},
  13. urldate = {2023-11-15}
  14. }
  15. @ONLINE{intel:xeonmaxbrief,
  16. author = {Intel},
  17. title = {{Intel® Xeon® CPU Max Series Product Brief}},
  18. date = {2023-01-06},
  19. url = {https://www.intel.com/content/www/us/en/content-details/765259/intel-xeon-cpu-max-series-product-brief.html},
  20. urldate = {2024-01-18}
  21. }
  22. @ONLINE{intel:dsaguide,
  23. author = {Intel},
  24. title = {{Intel® Data Streaming Accelerator User Guide}},
  25. date = {2023-01-11},
  26. url = {https://www.intel.com/content/www/us/en/content-details/759709/intel-data-streaming-accelerator-user-guide.html},
  27. urldate = {2023-11-15}
  28. }
  29. @misc{intel:idxd-driver-repo,
  30. author = {Intel},
  31. title = {{Intel IDXD Driver for Linux Kernel}},
  32. publisher = {GitHub},
  33. journal = {GitHub repository},
  34. howpublished = {\url{https://github.com/intel/idxd-driver}},
  35. urldate = {2024-01-07}
  36. }
  37. @misc{intel:libaccel-config-repo,
  38. author = {Intel},
  39. title = {{Intel IDXD User Space Application}},
  40. publisher = {GitHub},
  41. journal = {GitHub repository},
  42. howpublished = {\url{https://github.com/intel/idxd-config}},
  43. urldate = {2024-01-07}
  44. }
  45. @misc{intel:dmldoc,
  46. author = {Intel},
  47. title = {{Intel Data Mover Library Documentation}},
  48. publisher = {GitHub},
  49. howpublished = {\url{https://intel.github.io/DML/documentation/api_docs/high_level_api.html}},
  50. urldate = {2024-01-07}
  51. }
  52. @ONLINE{intel:analysis,
  53. author = {Reese Kuper et al.},
  54. title = {{A Quantitative Analysis and Guideline of Data Streaming Accelerator in Intel® 4th Gen Xeon® Scalable Processors}},
  55. date = {2023-05},
  56. url = {https://arxiv.org/pdf/2305.02480.pdf},
  57. urldate = {2024-01-07}
  58. }
  59. @INPROCEEDINGS{atomics-cost-analysis,
  60. author={Schweizer, Hermann and Besta, Maciej and Hoefler, Torsten},
  61. booktitle={{2015 International Conference on Parallel Architecture and Compilation (PACT)}},
  62. title={{Evaluating the Cost of Atomic Operations on Modern Architectures}},
  63. year={2015},
  64. volume={},
  65. number={},
  66. pages={445-456},
  67. doi={10.1109/PACT.2015.24}
  68. }
  69. @INPROCEEDINGS{shared-ptr-perf,
  70. author={T. Ku and N. Jung},
  71. booktitle={{Journal of Korea Game Society}},
  72. title={{Implementation of Lock-Free shared\_ptr and weak\_ptr for C++11 multi-thread programming}},
  73. year={2021},
  74. volume={21},
  75. number={1},
  76. pages={55-65},
  77. date = {2021-02-28},
  78. doi={10.7583/jkgs.2021.21.1.55.}
  79. }
  80. @ONLINE{cppreference:shared-ptr,
  81. author = {cppreference.com},
  82. title = {{CPP Reference Entry on std::shared\_ptr<T>}},
  83. publisher = {cppreference},
  84. date = {2023},
  85. url = {https://en.cppreference.com/w/cpp/memory/shared_ptr},
  86. urldate = {2024-01-17}
  87. }
  88. @ONLINE{cppreference:atomic-operations,
  89. author = {cppreference.com},
  90. title = {{CPP Reference List of Atomic Operations}},
  91. publisher = {cppreference},
  92. date = {2023},
  93. url = {https://en.cppreference.com/w/cpp/thread#Atomic_operations},
  94. urldate = {2024-01-18}
  95. }
  96. @ONLINE{cppreference:atomic-wait,
  97. author = {cppreference.com},
  98. title = {{CPP Reference Entry on std::atomic<T>::wait}},
  99. publisher = {cppreference},
  100. date = {2023},
  101. url = {https://en.cppreference.com/w/cpp/atomic/atomic/wait},
  102. urldate = {2024-01-18}
  103. }
  104. @ONLINE{cppreference:atomic-notify-one,
  105. author = {cppreference.com},
  106. title = {{CPP Reference Entry on std::atomic<T>::notify\_one}},
  107. publisher = {cppreference},
  108. date = {2023},
  109. url = {https://en.cppreference.com/w/cpp/atomic/atomic/notify_one},
  110. urldate = {2024-01-18}
  111. }
  112. @ONLINE{cppreference:atomic-notify-all,
  113. author = {cppreference.com},
  114. title = {{CPP Reference Entry on std::atomic<T>::notify\_all}},
  115. publisher = {cppreference},
  116. date = {2023},
  117. url = {https://en.cppreference.com/w/cpp/atomic/atomic/notify_all},
  118. urldate = {2024-01-18}
  119. }
  120. @ONLINE{cppreference:atomic-exchange,
  121. author = {cppreference.com},
  122. title = {{CPP Reference Entry on std::atomic<T>::exchange}},
  123. publisher = {cppreference},
  124. date = {2023},
  125. url = {https://en.cppreference.com/w/cpp/atomic/atomic/exchange},
  126. urldate = {2024-01-18}
  127. }
  128. @ONLINE{atomic-wait-details,
  129. author = {Thomas Rodgers},
  130. title = {{Implementing C++20 atomic waiting in libstdc++}},
  131. publisher = {Red Hat Developer Blog},
  132. date = {2022-12-06},
  133. urldate = {2024-01-18},
  134. url = {https://developers.redhat.com/articles/2022/12/06/implementing-c20-atomic-waiting-libstdc#how_can_we_implement_atomic_waiting_}
  135. }
  136. @ONLINE{amd:programmers-manual,
  137. author = {AMD},
  138. title = {{AMD64 Programmer's Manual Volume 2: System Programming}},
  139. date = {2016-12},
  140. urldate = {2024-01-18},
  141. url = {https://support.amd.com/TechDocs/24593.pdf}
  142. }
  143. @ONLINE{intel:programmers-manual,
  144. author = {Intel},
  145. title = {{Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide, Part 1}},
  146. date = {2016-12},
  147. urldate = {2024-01-18},
  148. url = {https://support.amd.com/TechDocs/24593.pdf}
  149. }
  150. @INPROCEEDINGS{hbm-arch-paper,
  151. author={Jun, Hongshin and Cho, Jinhee and Lee, Kangseol and Son, Ho-Young and Kim, Kwiwook and Jin, Hanho and Kim, Keith},
  152. booktitle={2017 IEEE International Memory Workshop (IMW)},
  153. title={HBM (High Bandwidth Memory) DRAM Technology and Architecture},
  154. year={2017},
  155. volume={},
  156. number={},
  157. pages={1-4},
  158. doi={10.1109/IMW.2017.7939084}
  159. }
  160. @misc{man-libnuma,
  161. author = {Debian},
  162. title = {{Debian manpage 3 for libnuma-dev}},
  163. urldate = {2024-01-21},
  164. url = {https://manpages.debian.org/bookworm/libnuma-dev/numa.3.en.html}
  165. }
  166. @ONLINE{lenovo:dsa,
  167. author = {Adrian Huang},
  168. title = {{Enabling Intel Data Streaming Accelerator on Lenovo ThinkSystem Servers}},
  169. urldate = {2022-04-18},
  170. url = {https://lenovopress.lenovo.com/lp1582.pdf}
  171. }
  172. @misc{thesis-repo,
  173. author = {Anatol Constantin Fürst},
  174. title = {{Accompanying Thesis Repository}},
  175. url = {https://git.constantin-fuerst.com/constantin/bachelor-thesis}
  176. }
  177. @ONLINE{lenovo:hbm,
  178. author = {Sam Kuo, Jimmy Cheng},
  179. title = {{Implementing High Bandwidth Memory and Intel Xeon Processors Max Series on Lenovo ThinkSystem Servers}},
  180. date = {2023-06-26},
  181. url = {https://lenovopress.lenovo.com/lp1738.pdf},
  182. urldate = {2024-01-21}
  183. }
  184. @ONLINE{intel:maxtuning,
  185. author = {Intel},
  186. title = {{Intel® Xeon® CPU Max Series Configuration and Tuning Guide}},
  187. date = {2023-08},
  188. url = {https://cdrdv2-public.intel.com/787743/354227-intel-xeon-cpu-max-series-configuration-and-tuning-guide-rev3.pdf},
  189. urldate = {2024-01-21}
  190. }
  191. @misc{dimes-prefetching,
  192. author = {André Berthold and Anna Bartuschka and Dirk Habich and Wolfgang Lehner and Horst Schirmeier},
  193. title = {{Towards Query-Driven Prefetching to Optimize Data Pipelines in Heterogeneous Memory Systems}},
  194. date = {2023},
  195. howpublished = "unpublished"
  196. }
  197. @ONLINE{microsoft:numa-malloc,
  198. author = {Microsoft},
  199. title = {{Allocating Memory from a NUMA Node}},
  200. date = {2021-07-01},
  201. url = {https://learn.microsoft.com/en-us/windows/win32/memory/allocating-memory-from-a-numa-node},
  202. urldate = {2024-01-28}
  203. }
  204. @ONLINE{kingston:ddr5-spec-overview,
  205. author = {Kingston},
  206. title = {{DDR5 memory standard: An introduction to the next generation of DRAM module technology}},
  207. date = {2024-01},
  208. url = {https://www.kingston.com/en/blog/pc-performance/ddr5-overview},
  209. urldate = {2024-02-04}
  210. }
  211. @ARTICLE{bench:heterogeneous-communication,
  212. author={Thune, Andreas and Reinemo, Sven-Arne and Skeie, Tor and Cai, Xing},
  213. journal={IEEE Transactions on Parallel and Distributed Systems},
  214. title={Detailed Modeling of Heterogeneous and Contention-Constrained Point-to-Point MPI Communication},
  215. year={2023},
  216. volume={34},
  217. number={5},
  218. pages={1580-1593},
  219. keywords={Bandwidth;Sockets;Benchmark testing;Size measurement;Protocols;Multicore processing;Computational modeling;Intra-node communication;performance modeling;point-to-point MPI communication},
  220. doi={10.1109/TPDS.2023.3253881}
  221. }
  222. @misc{xeonmax-peakthroughput,
  223. author = "André Berthold and Anna Bartuschka",
  224. title={{Throughput Benchmarks for CPU}},
  225. date = "2023",
  226. howpublished = "personal communication"
  227. }