Эффективное использование памяти
07.07.2019Разработчикам намного проще проектировать компьютеры, зависящие от передачи сообщений, чем компьютеры, имеющие общую память и обеспечивающие целостность кэш-памяти. Для программистов преимущество заключается в том, что обмен данными осуществляется в явном виде, значит, будет меньше неожиданностей при выполнении, чем при неявном обмене данными в компьютерах с общей памятью и поддержанием целостности кэш-памяти. А недостатком для программистов является усложненный перенос последовательной программы на компьютер, основанный на передаче сообщений, поскольку каждый обмен данными должен быть идентифицирован заранее, иначе программа не будет работать. Для беспребойной работы программы нужен выделенный сервер. Купить дедик стоит в таком случае. Общая память с поддержанием целостности данных кэш-памяти позволяет оборудованию определить, какие данные должны быть переданы, что облегчает перенос программы. Относительно наикратчайшего пути к высокой производительности существуют разные мнения, учитывающие все за и против неявного обмена данными.
Недостатки использования отдельных устройств памяти превращаются в достоинства относительно готовности системы. Поскольку кластер состоит из независимых компьютеров, связанных по локальной сети, то, по сравнению с SMP, заменить машину без остановки системы намного проще. Вообще-то, использование общих адресов означает, что без героических усилий операционной системы изолировать и заменить процессор очень трудно. Поскольку программное обеспечение кластера находится на уровне, работающем поверх локальных операционных систем, сломавшуюся машину отключить и заменить намного проще.
При условии, что кластеры создаются из целых компьютеров и независимых, масштабируемых сетей, эта изолированность также упрощает расширение системы без остановки приложения, запущенного на верхнем уровне кластера.