В Linux при использовании файлов они очень часто находятся в кеше, поэтому вы не будете часто читать диск, и вы можете использовать файловую систему «RAM», такую как tmpfs (на самом деле tmpfs
использовать виртуальную память, поэтому RAM + swap, и практически все файлы хранятся в оперативной памяти большую часть времени).
Основной проблемой остается синхронизация .
Использование сокетов (возможно, если все процессы находятся на одном компьютере, AF_UNIX сокетов, которые работают быстрее, чем TCP / IP), имеет преимущество, заключающееся в том, что наш код легко переносится в среды, где вы предпочитаете запустить несколько процессов на нескольких машинах.
И вы также можете использовать существующую платформу для параллельного выполнения, например, например. MPI , Корба и т. Д. И т. Д.
Вы должны иметь общее представление о пропускной способности и задержке, ожидаемых от вашего приложения.
(это не то же самое, если вам нужно разделить десятки мегабайт каждую миллисекунду или сотни килобайт каждые десятые секунды).
Я бы предложил больше узнать о сериализации методах, форматах и библиотеках, таких как XDR, ASN1, JSON, YAML, s11n , jsoncpp и т. Д.
И отправка или обмен данными не совпадают. Когда вы отправляете (и получаете) данные, вы думаете с точки зрения передачи сообщений. Когда вы обмениваетесь данными, вы думаете с точки зрения общей памяти. Стиль программирования очень отличается.