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.

75 lines
4.0 KiB

  1. \chapter{Technical Background}
  2. \label{sec:state}
  3. % Hier werden zwei wesentliche Aufgaben erledigt:
  4. % 1. Der Leser muß alles beigebracht bekommen, was er zum Verständnis
  5. % der späteren Kapitel braucht. Insbesondere sind in unserem Fach die
  6. % Systemvoraussetzungen zu klären, die man später benutzt. Zulässig ist
  7. % auch, daß man hier auf Tutorials oder Ähnliches verweist, die hier auf
  8. % dem Netz zugänglich sind.
  9. % 2. Es muß klar werden, was anderswo zu diesem Problem gearbeitet
  10. % wird. Insbesondere sollen natürlich die Lücken der anderen klar
  11. % werden. Warum ist die eigene Arbeit, der eigene Ansatz wichtig, um
  12. % hier den Stand der Technik weiterzubringen? Dieses Kapitel wird von
  13. % vielen Lesern übergangen (nicht aber vom Gutachter ;-), auch später
  14. % bei Veröffentlichungen ist "Related Work" eine wichtige Sache.
  15. % Viele Leser stellen dann später fest, daß sie einige der Grundlagen
  16. % doch brauchen und blättern zurück. Deshalb ist es gut,
  17. % Rückwärtsverweise in späteren Kapiteln zu haben, und zwar so, daß man
  18. % die Abschnitte, auf die verwiesen wird, auch für sich lesen
  19. % kann. Diese Kapitel kann relativ lang werden, je größer der Kontext
  20. % der Arbeit, desto länger. Es lohnt sich auch! Den Text kann man unter
  21. % Umständen wiederverwenden, indem man ihn als "Tutorial" zu einem
  22. % Gebiet auch dem Netz zugänglich macht.
  23. % Dadurch gewinnt man manchmal wertvolle Hinweise von Kollegen. Dieses
  24. % Kapitel wird in der Regel zuerst geschrieben und ist das Einfachste
  25. % (oder das Schwerste weil erste).
  26. \section{Intel DSA Background}
  27. Introduce DSA from a high level. Possibly use points from the Overview-Chapter in DSA Architecture Spec.
  28. \section{Intel DSA Architecture}
  29. Fine-Grained Architecture Overview. Possibly use graphs from the DSA Arch Spec.
  30. \begin{itemize}
  31. \item DSA is directly linked to the IOMMU to submit memory requests \cite[22]{intel:dsaspec}
  32. \item DSA is controlled over commands sent over the IO Fabric and is available as PCIe-like-device \cite[21]{intel:dsaspec}
  33. \item configuration is done via Memory-Mapped IO registers configured through PCIe bar registers \cite[21]{intel:dsaspec}
  34. \item possibly more performance with multiple engines per group (and single WQ) to cover over high latency address translation \cite[25]{intel:dsaspec}
  35. \item drain descriptor / drain command signals completion of preceding descriptors for fencing in non-batch submissions, in batches the ``fence flag'` can be used to ensure ordering, failures before a fence will lead to the following descriptors being aborted \cite[30]{intel:dsaspec}, \texttt{sfence} or \texttt{mfence} should be executed before pushing drain descriptor \cite[32]{intel:dsaspec}
  36. \item cache control flag in descriptor controls whether writes are directed to cache or to memory \cite[31]{intel:dsaspec} effects on copy from DRAM > HBM unknown
  37. \item shared WQ receive work via 'PCIe deferrable memory write request' to the portal which removes the need for synchronization of submissions but can cost more due to the communication overhead of posting a write request and waiting for it to be signalled 'completed' \cite[23]{intel:dsaspec}
  38. \item dedicated WQ receive work via atomic 64bit write to the portal \cite[24]{intel:dsaspec}
  39. \item dedicated WQ are configured by the driver with a specified PASID for address translation and can not be shared by multiple clients \cite[24]{intel:dsaspec}
  40. \end{itemize}
  41. \section{Intel DSA HW/SW Setup}
  42. Give the reader the tools to replicate the setup.
  43. Also explain why the BIOS-configs are required.
  44. Setup Requirements:
  45. \begin{itemize}
  46. \item VT-d enabled
  47. \item limit CPUPA to 46 Bits disabled
  48. \item IOMMU enabled
  49. \item kernel with iommu and DSA support
  50. \item kernel option "intel\_iommu=on,sm\_on"
  51. \end{itemize}
  52. Software Configuration:
  53. Describe intel accel-config and how it works with back reference to architecture.
  54. \section{Intel DSA Microbenchmarks}
  55. \cleardoublepage
  56. %%% Local Variables:
  57. %%% TeX-master: "diplom"
  58. %%% End: