# A Survey of Machine Learning-Based System Performance Optimization Techniques
## 4 Evaluation and Design Consideration
### Design Considerations  
To design a new model with machine learning, the researcher needs to be able to think of a new way of thinking and learning. At this time, the effort of the engineer is required. This section describes design considerations by comparing with reviewed papers. We describe training and prediction for design considerations. Table 4 summarizes the reviewed papers.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline  & **Summary** & **Input** & **Output** & **Learning Method** & **Prediction** \\ \hline \multirow{6}{*}{Learned index [7]} & Learn the index & & & & RMI network \\  & structure for efficient & & & & + B-Tree \\  & range request & & & Regression & \\  & & & (key’s position) & & \\ \cline{2-6}  & Learn hash-function & & & & \\  & for efficient key & & & & \\  & lookup & & & & \\ \cline{2-6}  & Learn structure to & & & Classification & \\  & learn whether a key & & & (key’s existence & \\  & is recorded & & & (0/1)) & \\ \hline \multirow{6}{*}{Pavo [8]} & Learn hash-function & & 1. & Regression & \\  & Learn hash-function & & & (supervised learning) & \\  & for efficient indexing & & & & \\  & in space and speed. & & 2. & Classification & \\  & & & & (unsupervised learning) & \\ \hline \multirow{6}{*}{Learned branch predictor [9]} & Learn a model that & & & & Online learning & \\  & replaces a 2-bit & & Global History & & (Adjust weights & \\  & counter in a & & Register & (taken or non-taken) & & according to loss & \\  & two-level scheme & & & & & \\  & & & & & \\ \hline \multirow{6}{*}{NN-sort [10]} & Data & & & & & Multi-layer NN + \\  & distribution-aware & & & (Return position) & & Quick sort \\  & sorting algorithm & & & & & \\ \hline \multirow{6}{*}{MER-sort [11]} & Learn Radix & & & & & \\  & sort-based sorting & & & & (Return position) & \\  & algorithm, which is & & & & \\  & not sensitive to data & & & & \\ \hline \multirow{6}{*}{Reuse predictor [12]} & \multirow{6}{*}{Determine if the access block is  reusable or not} & \(\bullet\) & PC & & Online learning & \\  & & \(\bullet\) & memory addr & & (Learning by \\  & & \(\bullet\) & compressed & Classification & inputting part of & \\  & access block is & & data & (Reuse or not) & the access to a & \\  & reusable or not & & time/reference & & sampler that has a & \\  & & & count & & partial set of & \\ \hline \multirow{6}{*}{Cache prefetcher [13]} & Learning-based & \(\bullet\) & prefetch & & & \\  & two-level scheme to & & distance & & Two-level & predictor \\  & reduce prefetching & \(\bullet\) & transition & Classification & Online learning & (traditional \\  & of unnecessary & \(\bullet\) & address delta & & prefetcher + & perceptron) \\  & requests. & \(\bullet\) & frequency & & & \\ \hline \multirow{6}{*}{Learning memory access patterns [14]} & Learn prefetcher to & & & & & Offline learning & \\  & analyze memory & \(\bullet\) & PC & Classification & (Vocabulary & \\  & analyze memory & \(\bullet\) & address delta & (Delta with the & generation during & \\  & & access pattern & & highest probability) & training for & (2) & Clustering + \\  & & & & classification) & & \\ \hline \hline \end{tabular}
\end{table}
Table 4: Design Summary of the Reviewed Papers.