От компьютера к суперкомпьютеру
ОТ КОМПЬЮТЕРА К СУПЕРКОМПЬЮТЕРУ
(*****@***ru)
МБОУ Гимназия №4, г. Одинцово
Аннотация
В связи с распространением многопроцессорных и многопроцессорных вычислительных систем становится актуальна задача включения в школьный курс информатики вопросов, связанных с параллелизмом, в том числе решение задач по этой тематике. В докладе рассматриваются примеры знакомства школьников с основными понятиями на основе решения задач, предлагаются способы интеграции в курс информатики.
Немногим более полувека назад компьютеры были большие, дорогие, энергоемкие..., работать на низ могли лишь специалисты, и для эффективного использования ресурса производительности требовалось учитывать особенности строения таких ЭВМ. А что сейчас? Самые «мощные» компьютеры в мире такие же большие, дорогие, энергоемкие, во многом уникальны и рассчитаны на работу специалистов.. Изменилось название: теперь мы зовем их СУПЕРкомьпютеры!
Безусловно, во много раз с тех времен выросла производительность ЭВМ; но если поначалу рост достигался благодаря развитию элементной базы и повышению ее быстродействия, то в последние десятилетия он обеспечивается, главным образом, увеличением параллелизма (многопроцессорные и многоядерные системы). А это, в свою очередь, «бросает вызов» программистам и тем, кто составляет математические модели и алгоритмы: ведь теперь уже требуется создавать не просто «последовательности команд», а разрабатывать такие программы, чтобы множество «исполнителей» работали совместно: одновременно (параллельно), да еще и эффективно взаимодействовали друг с другом и не простаивали бы.
Поэтому очень важно, чтобы будущие специалисты уже сегодня, еще за школьной партой могли «прикоснуться» к параллелизму, узнать основные понятия, получить начальные навыки решения задач. Вот лишь некоторые темы классического курса информатики, в рамках которых можно рассматривать вопросы параллелизма:
· история вычислительной техники;
· архитектура ЭВМ;
· введение в операционные системы;
· информационные модели;
· алгоритмизация и программирование.
Это список, безусловно, можно значительно расширить, и особое внимание, на наш взгляд, следует уделить решению задач – ведь это та практика, в процессе которой ребенок легко и непринужденно может «прочувствовать» параллелизм, усвоить основные понятия, получить начальный навык составления моделей и алгоритмов, учитывающих параллельность процессов.
Рассмотрим несколько таких задач.
Задача 1
Вася, Петя и Саша ходят в городской спортивный центр на баскетбол, а Костя и Сергей на Волейбол.
Когда баскетболисты уже шли с занятий, волейболисты лишь спешили на свою тренировку. Недалеко от памятника воинам Великой Отечественной Войны их пути пересеклись, и ребята решили поздороваться, пожав друг другу руки. Поскольку у волейболистов оставалось совсем немного времени до начала тренировки, процесс приветствия постарались сделать максимально быстрым. Известно, что на одно рукопожатие уходит три секунды. Определить, за сколько секунд всем ребятам удалось пожать друг другу руки.
Задача 2
Решили Вася, Петя и Маша организовать производство деревянных дверных ручек. Распределили обязанности: Вася делает заготовки, Петя вытачивает из них ручки, а Маша покрывает их лаком. Чтобы выполнить свою часть работы для каждой ручки у каждого уходит по 20 минут (таким образом, одну ручку они могут изготовить за 60 минут).
Вопрос, сколько минут понадобится для изготовления 10 ручек?
Задача 3
Фирме Кирка-Лопата поручили замостить городскую площадь. Для этого была сформирована бригада из одного бригадира и пяти рабочих.
Чтобы выполнить поставленную задачу, прежде всего бригадир должен выполнить разметку площади; затем уже рабочие выполняют непосредственно укладочные работы. Один рабочий за час может уложить 1/10 часть площади, а бригадир справляется со своей частью задачи за 45 минут.
Сколько минут необходимо бригаде, чтобы замостить площадь?
В первой задаче ребенок знакомится с понятием многоагентной системы и понимает, что отдельные субъекты могут функционировать параллельно.
Во второй демонстрируется понятие конвейера – ключевого механизма в организации большинства современных вычислительных систем.
А третья задача показывает не только то, что распараллеливание приводит к ускорению, но и указывает на возможное наличие этапов, которые распараллелить нельзя (что ограничивает возможности ускорения), тем самым, подводя к пониманию закона Амдала.
Приведенные задачи достаточно просты и служат лишь примером. Как показывает практика, дети, после некоторой тренировки, готовы решать и более сложные, иной раз даже на интуитивном уровне подходя к верному решению.
Надеемся, нам удалось обратить внимание на актуальность задачи знакомства школьников с основами параллелизма в вычислительных системах и вложить в руки учителей информатики ключ к внедрению в своей педагогической практике этих основ.


