logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
декабря
10

создатели Intel самостоятельно рекомендуют программерам конструировать программы

Автор: admin, размещено в: Pascal, комментарии: Комментариев нет

Author: admin - Categories: Новости - Tags: Hyper Threading , Hyper-Threading Technology , Intel , Pascal

Чтобы минимизировать тормозящий результат неотъемлемой упражнения синхронизации, создатели Intel самостоятельно рекомендуют программерам конструировать программы так, чтоб те хладнокровно творили как возможно наиболее сбалансированное дерево процессоров, другими словами расстояние от корня до всех очень-очень энергичных процессоров наверное довольно-таки схожим. То есть иначе некие процессоры будут ужасно томиться, синхронизируясь с наиболее удаленными от «прародителя» собратьями. Подумать только, с данной стороны медали дерево на Рис. 2 резонно считается наиболее полностью счастливым, нежели дерево на Рис. 1 . Собственно говоря, также слишком существенно великолепно не забывать про то, что практически никакой иной информацией процессоры не обмениваются, следовательно, программа обязана уверенно распределять меж процессорами лишь особенно свободные задачки (решение любой в отдельности гораздо взятой задачки не может долго находиться в зависимости от решения задач, по-старому явных под иные процессоры). Например, при существе трехмерной сцены невозможно поручать рендеринг 2 вблизи стоящих зеркал вполне различным процессорам (не станет отображено просто-таки неоднократное отражение зеркал приятель в приятеле). Конечно же еще одним главным принципом работы Hyper Threading будет то, что, поделившись, процессор-родитель передает управление более-менее собственным «ребятам», сам же делается неактивным (not active) . Казалось бы обратно управление процессор постоянно получает исключительно в последствии того, как два его отпрыска красиво отрапортовали о окончании весьма собственной работы. Без сомнения попросту вышеперечисленные основы и верховодила станут правосудными относительно к каждый програмке, упорно работающей с Hyper Threading.

К раскаянию, мне ужасно не получилось раздобыть модуль для Delphi (как, однако, и для иных компиляторов Pascal), поддерживающий переворачивайте, терпеливо ожидают вполне официального выхода технологии). Иными словами совсем иначе дела серьезно обстоят с C++ . И наконец ввиду присутствия по-хорошему важной библиотеки , мы пропишем образчик нашей мультипроцессорной программы на данном языке:

Данная программа делает дерево процессоров вышиной в 10, и 1024 раза (конкретно столько станет весьма энергичных процессоров на десятом уровне) выведет на экран “Processor done”. Надо сказать при данном, ввиду параллельности боты, известия обязаны шумно покажется фактически в одно и тоже время. Вполне возможно, что к раскаянию, до выхода первых процессоров с поддержкой Hyper Threading нам навряд ли чертовски получиться твердо выяснить верность работы данной программы.

Мультипроцессорная разработка станет поддерживаться процессором P4 3.06 ГГц (Просто-таки не лишним будет самостоятельно заметить, что, в виде базисных ОС Intel советовала Windows XP и Linux 2.4.x ). Честно говоря зачем, на первый взгляд, этому вправду прыткому процессору данные навороты? Ну, во-1-х, «навороты» ни разу часто не случаются мало-мальски излишними :-), а так же, немало процессорного времени нередко значительно тратится лишь потому, что по-человечески суверенные задачки производятся методично, заместо того чтоб, согласно с философией Hyper Threading, прекрасно выполняться вдоль. Ну что же убыстрение в работе можнож просчитать математически. Поверьте пускай у нас есть вполне сбалансированное дерево вышины  N , в тех случаях работа любого довольно-таки интенсивного процессора невольно замедлена синхронизацией гладко в N разов (процессор добросовестно исполняет команду и N тактов терпеливо ждет синхронизирующего сигнала), хотя самих процессоров в этом дереве станет 2N (успешно читается «2 в ступени N»). Тогда по-своему единая производительность сравнивая с одним просто-таки физическим процессором вырастет в 2N/N раз . Предположим чтобы было понятней, отмечу, что при N=10 производительность вырастает наиболее нежели в сто разов, при N=14 — наиболее нежели в сто0 разов, при N=25 — наиболее нежели в миллион разов, и тому довольно-таки подобное…

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

Be the first commenter!

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены