In what situations will huge pages be useful? We can't design the ultimate solution that always works in every case, so which cases do we care about? '''General Use Cases''' Use cases vary along some important dimensions: * Is it worth modifying (or possible to modify) the application in order to get huge pages? * Are huge pages required or optional? * Do we need all of system memory or can we have a buffer? Database and HPC applications usually require huge pages and do not want to fail over to small pages, they want to use absolutely as much system memory as possible, and it is usually feasible to modify the application in order to get best performance. '''Examples''' * Oracle * Scientific modeling applications running on clusters (specific examples?) * ??? * Profit! Another class of applications has the opposite qualities. This can be thought of as the "desktop" workload. Huge pages are nice but not required, the system usually has some memory free, and few people think it's worth the time to tune these applications in order to get a few more percent of performance. '''Examples''' * Firefox or Mozilla (94MB resident on my system!) * Xorg * GIMP, Image``Magick, image manipulation tools * Open``Office