При наличии недорогих общедоступных кластеров с хорошим соотношением цены и производительности все более важным становится распределенное функционирование приложений. По существу, должна иметься возможность расщепить приложение для выполнения на нескольких машинах для его масштабирования (при возрастании объема входных потоков или сложности обработки) без потребности переписывания низкоуровневого кода его разработчиком.
Для использования преимуществ современных многопотоковых (или многоядерных) архитектур процессоров в системах потоковой обработки должно также поддерживаться многопотоковое функционирование. Многопотоковое функционирование следует поддерживать даже на однопроцессорных машинах, чтобы избегать блокировок при ожидании внешних событий, обеспечивая, тем самым, низкий уровень задержек.
Должна обеспечиваться не только легкая масштабируемость на любое число машин, но и автоматическая и прозрачная балансировка нагрузки результирующего приложения между доступными машинами, чтобы это приложение не тормозилось какой-либо одной перегруженной машиной.
Седьмое требование состоит в том, что система потоковой обработки должна быть в состоянии распределять свою обработку по нескольким процессорам и машинам для достижения инкрементной масштабируемости. В идеале это распределение должно быть автоматическим и прозрачным.