Все три из них так или иначе связаны с параллельными вычислениями, но на довольно разных уровнях.
Sun Grid Engine (SGE) - система массового обслуживания. Обычно он устанавливается системным администратором большого вычислительного сайта и позволяет пользователям отправлять длительные вычислительные «задания». SGE проверяет, свободны ли какие-либо вычислительные узлы, и, если они есть, запускает задание на этом компьютере, в противном случае заданию придется ждать в очереди, пока машина не станет доступной. SGE в основном заботится о правильном распределении рабочих мест. Для одного пользователя SGE имеет очень ограниченное использование. SGE часто используется в высокопроизводительных вычислениях для планирования пользовательских заданий.
JPPF - это среда Java, которая может помочь разработчику приложения запустить и реализовать параллельную программу Java. Это позволяет приложению Java запускать независимые его части на других машинах параллельно. Полезно разбить вычислительное Java-приложение на несколько в основном независимых частей (которые обычно называются «задачами»). Несмотря на то, что я на самом деле не знаю фреймворк, я предполагаю, что он в основном используется для распространения приложений для большого бизнеса на несколько компьютеров.
MPI (интерфейс передачи сообщений) - это API (в основном для C / FORTRAN, но существуют привязки для других языков), который позволяет разработчикам создавать массивно параллельные приложения. MPI в основном предназначен для параллельных приложений, где все параллельные задания выполняют одни и те же операции, но с разными данными, и где разные задания должны много общаться. Он используется в высокопроизводительных вычислениях, когда одно приложение может работать на нескольких тысячах процессоров в течение нескольких дней.