Консультация № 185340
01.02.2012, 09:09
65.45 руб.
01.02.2012, 11:01
0 10 1
Здравствуйте! У меня возникли сложности с таким вопросом:
Помогите с решением некоторых вопросов теста Разработка масштабируемых программ для многоядерных архитектур

1.Если ускорение программы падает с увеличением числа процессоров, это говорит о том, что:
программа хорошо масштабируется
программа плохо масштабируется

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

3. Зависание потоков, вызванное обращением к критическому ресурсу, ведет к:
уменьшению производительности ПО
потере данных
уменьшению точности вычислений

4. Отношение теоретического ускорения работы многопоточной программы к практическому обычно больше 1, т.к.:
часто неправильно оценивается практическое ускорение
из-за дополнительных внешних факторов, не учитываемых при теоретической оценке

5. Укажите причину, при которой использование пула потоков ОС Windows не является оптимальным решением:
вызов функций через определенные интервалы времени
вызов функций при освобождении отдельных объектов ядра
вызов функций по завершении запросов на асинхронный ввод-вывод
вызов функций последовательного приложения

6. Сколько пулов потоков можно организовать для процесса в ОС Windows:
1
2
3
[$8734$]

7. Параллельный блок это:
сегмент программы, в которой каждый оператор выполняется после других
сегмент памяти, в котором несколько потоков могут выполняться одновременно

Обсуждение

давно
Академик
320937
2216
01.02.2012, 09:41
общий
Добрый день! Вопросы 4 и 9 одинаковые. Что делаем?
Неизвестный
01.02.2012, 09:47
общий
Адресаты:
Здравствуйте! не заметил, можно удалить один из них!
давно
Академик
320937
2216
01.02.2012, 09:52
общий
3 и 8 тоже одинаковые :)
Неизвестный
01.02.2012, 09:55
общий
да я уже заметил жалко нет возможности редактирования! извиняюсь за невнимательность!
Неизвестный
01.02.2012, 10:54
общий
Адресаты:
Ещё в 6. там за места вопросика знак бесконечность.
давно
Академик
320937
2216
01.02.2012, 12:25
общий
Уважаемые эксперты! Пожалуйста, примите участие. Спасибо.
давно
Профессор
230118
3054
01.02.2012, 13:15
общий
это ответ
Здравствуйте, frox!
Масштабируемость (англ. scalability) — в электронике и информатике означает способность системы, сети или процесса справляться с увеличением рабочей нагрузки (увеличивать свою производительность) при добавлении ресурсов (обычно аппаратных). Масштабируемость — важный аспект электронных систем, программных комплексов, систем баз данных, маршрутизаторов, сетей и т. п., если для них требуется возможность работать под большой нагрузкой. Система называется масштабируемой, если она способна увеличивать производительность пропорционально дополнительным ресурсам. Масштабируемость можно оценить через отношение прироста производительности системы к приросту используемых ресурсов. Чем ближе это отношение к единице, тем лучше. Также под масштабируемостью понимается возможность наращивания дополнительных ресурсов без структурных изменений центрального узла системы.

В системе с плохой масштабируемостью добавление ресурсов приводит лишь к незначительному повышению производительности, а с некоторого «порогового» момента добавление ресурсов не даёт никакого полезного эффекта.
Ответ: плохо масштабируется

2
Бутылочное горло (иногда употребляется также заимствованный термин англ. bottleneck — ботлнек, батлнек) — выражение, используемое для описания самого узкого места в системе (ситуации, расположении и т.п.), ограничивающего перемещение чего-либо, по аналогии с горловиной бутылки, узость которой не позволяет вылить или высыпать всё её содержимое сразу, даже если её перевернуть.
Вот что говорил Джон Бэкус на церемонии вручения ему Тьюринговской премии в 1977 году: «Что такое компьютер по фон Нейману? Когда 30 лет назад Джон фон Нейман и другие предложили свою оригинальную архитектуру, идея показалась элегантной, практичной и позволяющей упростить решение целого ряда инженерных и программистских задач. И хотя за прошедшее время условия, существовавшие на момент ее публикации, радикально изменились, мы отождествляем наши представления о компьютерах с этой старой концепций. В простейшем изложении фон-неймановский компьютер состоит из трех частей: это центральный процессор (CPU или ЦПУ), память и соединяющий их канал, который служит для обмена данными между CPU и памятью, причем маленькими порциями (лишь по одному слову). Я предлагаю назвать этот канал «бутылочным горлом фон Неймана».
В данном случае подходит больше всего возникновение коллизий при обращении нескольких устройств к шине, но точного описания нет. Бутылочным горлом является сущестование лишь одного канала передачи данных, а также сложность распараллеливания.

3)уменьшению производительности ПО
4) из-за дополнительных внешних факторов, не учитываемых при теоретической оценке
5)вызов функций по завершении запросов на асинхронный ввод-вывод
6)Это зависит от версии Windows. До Висты было возможно создавать 1 пул, в Висте и позже ограничений нет.
7)сегмент программы, в котором несколько потоков могут выполняться одновременно
Неизвестный
01.02.2012, 19:49
общий
В вопросе 7 вероятно опечатка, должно быть:
"сегмент программы, в котором несколько потоков могут выполняться одновременно"
Неизвестный
02.02.2012, 06:02
общий
Это не опечатка, тест такой, возможно что там нет правильного ответа!
давно
Академик
320937
2216
02.02.2012, 17:08
общий
Добрый вечер! Возможно, пригодится.
Параллельный блок (parallel region) --- сегмент кода программы, выполняющийся на нескольких процессорах. Параллельный блок запускается на нескольких нитях процесса
Источник.CONVEX SPP: Руководство по порграммированию
Форма ответа