Программирование при наличии нескольких ядер

Как это не раз случалось в прошлом, аппаратное обеспечение намного опережает программное. Располагая многоядерными микропроцессорами, мы не имеем возможности создавать для них приложения. Использующиеся в настоящее время языки программирования плохо приспособлены для написания хорошо распараллеленных программ, а хорошие компиляторы и отладчики в этой области встречаются довольно редко.
Опыт параллельного программирования есть лишь у немногих программистов,

а большинство из них мало что знает о делении заданий на ряд пакетов, которые могут выполняться параллельно. Синхронизация, исключение состязательных условий и предупреждение взаимных блокировок — все это как будто соткано из дурных снов, но, к сожалению, при недостаточно эффективном управлении весьма существенно страдает производительность. Семафоры здесь также не помогут.

Помимо этих начальных проблем есть и еще одна: совершенно непонятно, каким типам приложений реально понадобятся сотни, не говоря уже о тысячах, ядер, особенно в домашней среде. В то же время в крупных серверных центрах для большого количества ядер работа всегда найдется. Например, популярный сервер может запросто использовать для каждого клиентского запроса отдельное ядро. Точно так же рассмотренные в предыдущей главе провайдеры ресурсов для облачных вычислений могут задействовать ядра для предоставления большого количества виртуальных машин, сдаваемых в аренду клиентам, ищущим предоставляемые по запросу компьютерные мощности.

8.1.2.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Программирование при наличии нескольких ядер:

  1. § 1. Назначение наказания при наличии смягчающих обстоятельств
  2. Статья 69-1. Назначение наказания при наличии обстоятельств, смягчающие наказание
  3. Назначение наказания при одновременном осуждении лица за несколько преступлений (ч. 2 иЗ ст. 69 УК РФ)
  4. 2. Назначение наказания при разновременном осуждении лица за несколько преступлений (ч. 5 спи 69 УК РФ)
  5. Статья 540. Выполнение обязательства, в котором принимают участие несколько кредиторов или несколько должников
  6. Наличие противоречия.
  7. Установление наличия и качества имеющихся доказательств
  8. г) Наличие малолетних детей у виновного
  9. Основной курс (Программирование)
  10. Эстетика программирования
  11. Иванова Г.С. Основы программирования, 2002
  12. Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев. Объектно- ориентированное программирование, 2001
  13. О. Л. Голицына, Т. Л. Партыка, И. И. Попов. ЯЗЫКИ ПРОГРАММИРОВАНИЯ, 2008
  14. Часть вторая Родительское программирование
  15. Наличие максимально полной информации о допрашиваемом
  16. Программирование телевизионного вещания
  17. Часть вторая Родительское программирование СУДЬБА ЧЕЛОВЕКА
  18. Нейро-лингвистическое программирование
  19. Сергей Александрович Орлов. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения, 2013
  20. 9.22. Определение Р-методом наличия энергии в чакрах и энергетических "пробок" в чакральных связях.