Ваше местоположение в сети:
Рубрика:
Путеводитель по интернету

Многоядерность

Чем хвалятся производители современных процессоров (ну или продавцы компьютеров). Во-первых, 64-битностью, но я об этом уже писал. А во-вторых, постоянно упоминается некая многоядерность. Что это за зверь такой и с чем его едят? Сейчас попробую рассказать. И, заодно, отвечу на вопрос - а нужен ли вам многоядерный компьютер, и, если да, то сколько ядер.

А то услышал я тут диалог двух девушек. Одна с таким умным видом рассказывает: "мне тут новый ноутбук купили, но на нем эта, Виста будет, а то там эти, как их, ядра, и XP уже не тянет." На самом деле, в этих словах может быть доля правды. У компьютера может быть больше 3х гигабайт оперативной памяти, поэтому обычную, 32-битную Windows XP использовать глупо, а 64-битные - это редкость. Но "ядра" - это совсем другая песня...

А все не так уж и сложно. Обычные, одноядерные компьютеры (более точно, процессоры) выполняют все команды последовательно. То есть можно представить будто у вас есть список дел, и вы их решаете одно за другим. То есть, конечно, не все так плохо - современные операционные системы "многозадачны", вы ведь привыкли к тому, что вы одновременно и файлы копируете, и по интернету ходите, и музыку слушаете. Но эта задача решена именно средствами операционной системы - на процессор посылаются поочередно разные инструкции, каждая программа получает свой приоритет на выполнение задач.

task-manager

На скриншоте изображен диспетчер задач для одноядерного компьютера. Кстати, внешний вид диспетчера задач - один из способов определить, сколько у вашго компьютера ядер. Подробней читайте по ссылке.

Чем же плох одноядерный компьютер? А тем, что многозадачность работает нормально лишь тогда, когда все имеющиеся задачи в совокупности не загружают процессор полностью. Но как только одна из задач начинает требовать процессор постоянно (из-за сложного вычисления или просто зависнув из-за сбоя), начинаются проблемы - процессор загружен полностью, и он даже не успевает отрабатывать своевременно нажатия на клавиатуру или движения мыши. Знакомая ситуация?

Многоядерные компьютеры, конечно, не панацея, но "подвесить" многоядерный компьютер существенно сложнее. А суть такого процессора состоит в том, что он действительно имеет несколько "ядер" (по-английски, kernel), каждое из которых может выполнять вычисления независимо от других. Тем самым, один процесс может загрузить только одно ядро, а остальные останутся свободными.

Зачем вам нужен многоядерный компьютер? Ну вот как раз, чтобы он меньше вис. Для этого хватит двух ядер, в случае ноутбука подойдет, например, процессор Intel Dual Core. Нужно ли больше ядер? Возможно, но только если вы собираетесь гонять высокопроизводительные вычисления (например, при кодировании видео), а также для современных игр. Кстати, в последнее время стали продаваться и четырехядерные ноутбуки. Например, если мы рассмотрим ноутбуки Samsung, то увидим недавно появившийся шикарный R780 с процессором CoreI7.

И отвечу на незаданный вопрос - а как же программа использует все эти ядра, если один процесс может загружать только одно ядро? Автоматически - никак. Об этом должен позаботиться разработчик, но в случае вышеупомянутых игр и кодирование, скорей всего, разработчики действительно позаботились. Как это делается? А запускается несколько процессов, которые обмениваются друг с другом данными. Это - особый раздел программирования, так называемое параллельное программирование, зачастую более сложное, чем обычное. Я, кстати, тоже таким занимаюсь ;)

Ну вот и все. У вас остались вопросы или комментарии? Буду рад!

Дата: 17 февраля 2010 г., категория: размышления об интернете.

Хотите знать все об интернете?

Введите свой адрес электронной почты чтобы подписаться на обновления!



Доставляется при помощи FeedBurner. Никакого спама. Всегда можно отписаться!

Загружается, подождите...
← Файловые системы WindowsОбход прокси →

Комментарии

1#

Chief ok
17 февраля 2010 г. 12:07:52

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

2#

Sander ok
17 февраля 2010 г. 12:22:16

Напоминает анекдот про нового русского, покупающего навороченный (ну, скажем, на тот момент - Пентиум). Долго собирает самую дорогую конфигурацию, а когда, наконец, его спрашивают, что за задачи будет решать эта машина, отвечает "жена очень любит в тетрис играть - вот сейчас оторвется".
В принципе, если деньги есть, - то, конечно, можно купить что угодно. Но опять-таки, если речь идет об игровом компьютере, то куда важнее качественная видеокарта. Или даже не одна видеокарта. А процессоры так сильно не помогут.
Да.. а я бы, конечно, и от 12-ядерника не отказался...
 

3#

Vladusik
17 февраля 2010 г. 20:28:51

...и тем не менее, главный вопрос все же денежный.
 

4#

Sander ok
17 февраля 2010 г. 21:07:45

ну тогда нет смысла брать больше чем 2 ядра. Если нет конкретной задачи, про которую известно, что от многоядерности она выигрывает
 

5#

Автолюбитель
19 февраля 2010 г. 16:11:17

Я бы тоже не отказался от проца с 12 ядрами. И дело тут ведь не в том даже для чего тебе такой комп, дело в том как ты его используеш, это по крайней мере в моем случае. Вот сейчас сижу, а у меня хрен знает сколько программ открыто, а всеравно для удобства нужно бы еще кучу пооткрывать. З.Ы. проц у меня тож двухядерный!
 

6#

Sander ok
19 февраля 2010 г. 16:22:12

Ну если эти программы особо активно не работают, то ядра и ни к чему. Лучше памяти побольше!
 

7#

Lidunya
20 февраля 2010 г. 20:23:47

Смысла в более чем 4 ядрах пока нет. Потому что софта, оптимизированного под многояделные системы почти нет.
 

8#

Sander ok
20 февраля 2010 г. 20:35:36

Для кого нет, а для кого и есть. Мои программы (вычисления в физике высоких энергий) прекрасно используют и 8 и 12 ядер.
 

9#

Дмитрий
23 февраля 2010 г. 13:41:21

Когда появились 2-х ядерные процессоры, все тоже говорили что программ под них нет и смысла особого в их приобретении тоже нет. А сейчас никто даже и не подумает чтоб покупать процессор с менее чем 2 ядер. Мир не стоит на месте и то, что сегодня необычно, завтра мы без него не сможем представлять свою жизнь.
 

10#

lubinetsm
4 марта 2010 г. 18:17:03

согласен) возможно в будущем о 8 ядровом проце будут вспоминать так-же как мы вспоминает о компах, которые занимали по площади 3-х комнатную квартиру=)
 

11#

Сёма
6 марта 2010 г. 12:27:16

У меня 2 ядра на компьютере.
 

12#

mult
14 марта 2010 г. 08:21:08

двуядерные/двухпроцессорные компы стали актуальны на win-десктопе с выходом sp2 для winXP, раньше эффективно использовать второе ядро или процессор домашние ос не могли. а вообще - даже на настольком компутере два ядра это всегда лучше чем одно, потому что запущена то не одна программа, а несколько.
 

13#

Mavarik
14 марта 2010 г. 15:58:51

Здравствуйте.
Я хотел написать небольшой комментарий. Переход на многоядерные процессоры связан не только с тем, чтобы увеличить производительность в целом и чтобы компьютер как можно меньше вис.
Самый последний мощный одноядерный процессор от Intel - это Pentium4 с частотой 3.2Ггц и поддержкой технологии гипертрэйдинг (когда ОС воспринимала одноядерный процессор как логический двухядерный). Так вот, частоту дальше, в принципе, не имело смысл повышать для увеличения производительности, это вело к большему потреблению энергии и большему выделению тепла и как следствие перегреву камня. Значит нужно было создавать более мощные системы охлаждения, а это тоже дополнительные затраты. У меня на ноутбуке IRU камень перегревался и просто вырубался.
Вот такие соображения
 

14#

M_rt
16 марта 2010 г. 20:37:47

Почему-то совсем не упомянули трёхядерные процессоры; только про чётные числа ядер и говорили. Почему?
 

15#

Sander ok
16 марта 2010 г. 20:49:40

M_rt,
сейчас они, конечно, появляются (AMD), но вначале их вообще не существовало.
И вообще, мне такие числа кажутся неестественными. Удобней разрабатывать что-то, являющееся степенью двойки...
 

16#

mult
17 марта 2010 г. 04:59:44

мне кажется 3-ядерные процессоры больше маркетинговый ход, нежели нечто необычное. хоть три, хоть шесть, хоть 16. все равно будет лучше одного ;-)
 

17#

M_rt
25 марта 2010 г. 01:42:23

Sander
16 марта 2010 г. 20:49:40

M_rt,
сейчас они, конечно, появляются (AMD), но вначале их вообще не существовало.
И вообще, мне такие числа кажутся неестественными. Удобней разрабатывать что-то, являющееся степенью двойки...

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

18#

jenix
27 июня 2010 г. 11:01:48

Поразительно запутывающая статья...
Странно для Тебя Sander.
Kernel и Core.? Айя - яй. ;-)

"Нужно ли больше ядер? для современных игр."
Если НЕ слушать малолетних идиотов, то для игр нужны видеоускорители. А процессору достаточно кидать иногда координаты. Есть сравнение GPU и CPU где фирма Nvidia ехидно прокомментировала сравнение INtel своего процессора и процессора Nvidia так "Это тот редкий случай когда Интел признаёт победу над собой с 14-ти кратным превосходством" ;-) Сама Nvidia считает что она превосходит в 100 раз.

"У компьютера может быть больше 3х гигабайт оперативной памяти, поэтому обычную, 32-битную Windows XP, а 64-битные - это редкость. " - перечитайте ещё раз. И сделайте по правилам русского.
 

19#

jenix
27 июня 2010 г. 11:11:47

Господи сколько глупости про троичную систему и неестественность 3-х ядер. и причём тут маркетинг?
Есть технологический процесс - по сути очень грязный и все силы направлены как его вычистить и сделать по чище. Это постоянная борьба. Вы думаете сделали пластину и на ней все процы работают? Какие-то работают, какие-то сбоят, что-то вообще не запускается, потому что в каком-нить 37 технологическом цикле из 100, кислота недотравила бугорок из кремния в 10 нанометров. Вот и получаются 3-х ядерные, 2-хядерные, а делали-то 4-х. Ну не выкидывать же. Это бизнес, а не маркетинг.
 

20#

mult
27 июня 2010 г. 12:43:14

jenix, ух сколько желчи...
сравнивать GPU и CPU, имхо, не совсем корректно, ибо они заточены под разные вещи (CPU универсальней). да, некоторые программы используют и GPU для вычислений, но это скорее исключение из правил. А есть еще платы для аппаратной криптографии. там тоже оочень много вычислений производится. и они выполняются гораздо быстрее чем на универсальном CPU. Чего-то ни одного компутера не видел на GPU от nVidia.

А трехядерный маркетинг от AMD - это маркетинг. Не смотря на то, что часто можно встретить в трехядерниках обычное залоченое четвертое ядро. Вполне себе рабочее, со всеми "дотравленными бугорками кремния". Зато у нас есть три ядра, а у Intel нету.
 

21#

Сандер
27 июня 2010 г. 17:01:00

jenix и mult,
вы, главное, не поругайтесь :)
И вообще, спасибо за комментарии по делу, даже если они меня критикуют или корректируют, мне это нравится.
Я думаю, касательно 3 ядер оба слова правильны. И бизнес, и маркетинг.

Теперь, что я могу ответить.
1) core
 

22#

Lokis
5 сентября 2010 г. 13:19:53

Не могли бы вы объяснить следующую вещь. Как я наслышан есть теорема Винера (надеюсь память мне не изменяет). Так это теорема гласит, что ставить больше двух процов (ядер) вообще бестолково. Быстродействие после 2 уменьшается(сам бы в шоке). 4 ядра-рекламный ход. Есть возможность использовать больше чем два проца, но тогда оборудование должно располагаться не на общей шине (а оно на общей в стандартных компах). Больше двух процов использут на "суперкомпах", но там парятся с их индивидульностью.
Если заблуждаюсь, прошу объяснить.
 

23#

Sander ok
5 сентября 2010 г. 16:34:46

Lokis, все не совсем так.
Я сам лично писал программы, которые прекрасно выигрывают от четырехядерности, и это был отнюдь не суперкомпьютер.
4-ядерный безусловно лучше 2-ядернового, но не в 2 раза, а несколько меньше, и об этом и говорят подобные теоремы. С ростом числа процессоров производительность растет менее, чем линейно, и со временем кривая сильно загибается к горизонтали. Но как рано она загибается - очень зависит от специфики задачи.
 

24#

Aigul
5 января 2011 г. 18:43:50

Так скольки ядерный брать то??? 2х или 3х??? Если мне ноут не для игр нужен...а работы...инет...музыка...фильмы.... Заранее благодарна за ответ)))
 

25#

Sander ok
5 января 2011 г. 23:43:22

Aigul, если работа не связана с программированием и обработкой видео, то при таких условиях третье ядро не нужно. Хуже от него, конечно не будет, но можно и деньги сэкономить.
 

26#

Владимир
13 января 2011 г. 23:26:56

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

27#

Sander ok
14 января 2011 г. 10:34:23

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

28#

Inkubu
4 марта 2011 г. 11:00:51

Есть ли существенная разница между 4-х и 6-ти ядерными процами от AMD?На сколько 2 дополнительных ядра увеличат производительность.
 

29#

Sander ok
4 марта 2011 г. 11:51:13

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

Подписаться на: комментарии к статье (rss), комментарии к статье (e-mail)

[*] Авторизоваться при помощи профиля Google (и не только)
Самые активные участники сайта:

Хотите разместить здесь свою аватарку? Авторизуйтесь, загружайте картинку и комментируйте!
Имя:

E-mail (если хотите подписаться на комментарии):

Сайт (не обязательно):

Я - робот! (снимите галочку, если это не так)
Для блоггеров: если вы хотите чтобы ваша ссылка индексировалась поисковыми системами, вам нужно авторизоваться при помощи Google Friend Connect и написать осмысленный комментарий по теме. В таком случае я переведу ваш аккаунт в разряд "trusted". Комментарии пользователей с проверенным аккаунтом не попадают на модерацию, ссылки индексируются, а рядом с ником стоит значок с зеленой галочкой. Да, модерацию могут пройти только ссылки IT-тематики! Внимание: если вы не авторизуетесь, я не смогу сделать вашу ссылку активной даже если мне понравятся ресурс и комментарий!
Комментарий:

Подписаться на  комментарии к статье (rss), комментарии к статье (e-mail)