presentation.tex 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. \documentclass{beamer}
  2. \usetheme{Pittsburgh}
  3. \usecolortheme{rose}
  4. \addtobeamertemplate{navigation symbols}{}{%
  5. \usebeamerfont{footline}%
  6. \usebeamercolor[fg]{footline}%
  7. \hspace{1em}%
  8. \insertframenumber/\inserttotalframenumber
  9. }
  10. \title[fpgas] % (optional, only for long titles)
  11. {Interconnect for commodity FPGA clusters}
  12. \subtitle{standardized or customized?*}
  13. \author[n. lastname, A. Theodore Markettos, P. J. Fox, S. W. Moore, A. W. Moore] % (optional, for multiple authors)
  14. {n.~lastname\inst{1}}
  15. \institute[Universities Here and There] % (optional)
  16. {
  17. \inst{1}%
  18. institute\newline
  19. university
  20. }
  21. \date[SRAW 2022] % (optional)
  22. {Scientific Research and Writing, 2022}
  23. \subject{Computer Engineering}
  24. \begin{document}
  25. % SLIDE 1
  26. \begin{frame}\titlepage\end{frame}
  27. % SLIDE 2
  28. \begin{frame}
  29. *This presentation is about a rewriting/extension of A. Theodore Markettos, P. J. Fox, S. W. Moore, A. W. Moore, "Interconnect for comodity FPGA clusters: standardized or customized?", \textit{2014 24th International Conference on Field Programmable Logic and Applications (FPL)}, 2014, pp. 1-8. It has been written in the course of the seminar "Scientific Writing" (193.052) at TU Vienna, which shall help undergraduate students to get first experience in the art of scientific writing.
  30. \end{frame}
  31. % SLIDE 3
  32. \begin{frame}
  33. \frametitle{Problem}
  34. neural computation engine using an FPGA cluster:
  35. \newline
  36. \begin{itemize}
  37. \item{$10^{11}$ neurons with $10^{14}$ synaptic connections}
  38. \item{frequency of $10$ Hz means $10^{15}$ synaptic messages per second}
  39. \end{itemize}
  40. %Content goes here
  41. \end{frame}
  42. % SLIDE 4
  43. \begin{frame}
  44. \begin{columns}[c]
  45. \begin{column}{.75\textwidth}
  46. \begin{figure}[ht]
  47. \begin{center}
  48. \includegraphics[width=\columnwidth]{res/bluelink-bluehive-machine.png}
  49. \caption{a field-programmable custom computing machine for extreme-scale real-time neural network simulation}
  50. \label{fig:bluehive-summary}
  51. \end{center}
  52. \end{figure}
  53. \end{column}
  54. \end{columns}
  55. \end{frame}
  56. % SLIDE 5
  57. \begin{frame}
  58. \frametitle{Problem}
  59. neural computation engine using an FPGA cluster, more specifically:
  60. \newline
  61. \begin{itemize}
  62. \item{Izhikevich neuron model}
  63. \item{48 bits per synaptic message}
  64. \item{128K neurons per FPGA}
  65. \newline
  66. \end{itemize}
  67. 1.28M 48-bit synaptic messages per FPGA every millisecond!
  68. %Content goes here
  69. \end{frame}
  70. % SLIDE 6
  71. \begin{frame}
  72. \frametitle{Interconnect Requirements}
  73. \begin{itemize}
  74. \item{small message sizes (32-256 bits)}
  75. \item{low latency}
  76. \item{reliable}
  77. \item{hardware-only}
  78. \item{lightweight}
  79. \item{ubiquitous}
  80. \item{interoperable}
  81. \end{itemize}
  82. \end{frame}
  83. % SLIDE 7
  84. \begin{frame}
  85. \begin{columns}[c]
  86. \begin{column}{1\textwidth}
  87. \begin{figure}[ht]
  88. \begin{center}
  89. \includegraphics[width=\columnwidth]{res/bluelink-standard-cores-comparison.png}
  90. \end{center}
  91. \end{figure}
  92. \end{column}
  93. \end{columns}
  94. \centering
  95. \textit{(original table from original paper)}
  96. \end{frame}
  97. % SLIDE 8
  98. \begin{frame}
  99. \frametitle{Standardized IP Cores}
  100. Ethernet? Serial RapidIO? Infiniband? Interlaken? Fibre Channel? PCI Express? Altera SerialLite? Xilinx Aurora?
  101. \newline
  102. \begin{itemize}
  103. \item{fraught with practical difficulties: configuration constraints, fitting requirements, bonded links, manufacturer specificity, FPGA support, licensing, cost considerations}
  104. \end{itemize}
  105. \end{frame}
  106. % SLIDE 9
  107. \begin{frame}
  108. \begin{beamercolorbox}[center]{title}
  109. \textbf{BlueLink}
  110. \end{beamercolorbox}
  111. \end{frame}
  112. % SLIDE 9
  113. \begin{frame}
  114. \begin{columns}[c]
  115. \begin{column}{.75\textwidth}
  116. \begin{figure}[ht]
  117. \begin{center}
  118. \includegraphics[height=.8\columnwidth]{res/bluelink-architecture.png}
  119. \caption{architecture of BlueLink interconnect}
  120. \label{fig:bluehive-architecture}
  121. \end{center}
  122. \end{figure}
  123. \end{column}
  124. \end{columns}
  125. \centering
  126. basic unit of communication: 4 x 32-bit words (128-bit flit)
  127. \end{frame}
  128. % SLIDE 10
  129. \begin{frame}
  130. \frametitle{Packets}
  131. basic unit of communication: 4 x 32-bit words (128-bit flit)
  132. \newline
  133. \begin{itemize}
  134. \item{payload (64 bits)}
  135. \item{address (12 bits)}
  136. \item{CRC (32 bits)}
  137. \item{sequence/acknowledgement number (12 bits)}
  138. \item{physical layer header (8 bits)}
  139. \end{itemize}
  140. \end{frame}
  141. % SLIDE 11
  142. \begin{frame}[c]{}
  143. \frametitle{Application Abstractions}
  144. \centering
  145. \begin{tabular}{c}
  146. \fbox{Packets} \\ \\
  147. \fbox{Bluespec FIFO (Bluespec SystemVerilog HDL)} \\ \\
  148. \fbox{Remote DMA} \\ \\
  149. \fbox{Blocking reads and writes} \\ \\
  150. \fbox{Software pipes (GNU/Linux)}
  151. \end{tabular}
  152. %Content goes here
  153. \end{frame}
  154. % SLIDE 12
  155. \begin{frame}
  156. \frametitle{Results (on Stratix V)}
  157. \begin{tabular}{cc}
  158. Bandwidth
  159. &
  160. Latency
  161. \\
  162. \includegraphics[height=0.35\textheight]{res/bluelink-bandwidth.png}
  163. &
  164. \includegraphics[height=0.35\textheight]{res/bluelink-latency.png}
  165. \\
  166. \includegraphics[height=0.3\textheight]{res/bluelink-overhead.png}
  167. &
  168. \includegraphics[height=0.3\textheight]{res/bluelink-area.png}
  169. \\
  170. Overhead
  171. &
  172. Area
  173. \end{tabular}
  174. \end{frame}
  175. % SLIDE 13
  176. % SLIDE 14
  177. % SLIDE 15
  178. % SLIDE 16
  179. \begin{frame}[c]{}
  180. \centering
  181. \textit{Our approach shows why it is sometimes important not to simply reach for standard IP cores.}
  182. \newline
  183. \newline
  184. \newline
  185. Thank you!
  186. \newline
  187. \newline
  188. \newline
  189. Further questions?
  190. \newline
  191. \end{frame}
  192. % etc
  193. \end{document}