You are on page 1of 76

Глава 1

Компјутерски
Апстракции
и Технологии

Перформанси
1.4 ПЕРФОРМАНСИ
Вовед во перформанси
 важен фактор
 вклучува прецизно мерење
 споредување различни компјутери
Дефинирање
 Што мислиме ако кажеме дека некој
компјутер има подобри перформанси?
 Што е подобро?
Различни мерки
 авион со најголема брзина е „конкорд“,
 авион со најголем досег е „ДЦ-8“,
 авион со најголем капацитет е „боинг
747“
Најбрз авион
 Оној со најголема брзина, пренесувајќи
еден патник од едно место до друго за
најбрзо време!
 Оној кој ќе пренесе 450 патници од едно
место до друго!
Најбрз компјутер
 оној кој ќе ја заврши работата побрзо.
(кога се споредуваат два компјутери)
 оној кој завршил најголем број задачи во
текот на денот (за податочен центар)
Дефиниции
 време на одговор = времето потребно
од почетокот до завршувањето на
работата – наречено и време на
извршување
 капацитет или пропусен опсег –
вкупниот обем на извршена работа за
единица време
Капацитет и Време на одговор
 Дали следниве измени на
компјутерскиот систем го зголемуваат
капацитетот, го намалуваат времето на
одговор, или и двете?
 1. Замена на процесорот во еден
компјутер со друг процесор.
 2. Додавање дополнителни процесори
на систем што користи повеќе
процесори за одделни задачи – на
пример, пребарување на интернет.
Перформанси и време
Подобри перформанси

значи
Колку е подобро?

„X е n пати побрз од Y“
Релативни Перформанси
 Ако компјутер A извршува програма за
10 секунди и компјутер Б ја извршува
истата програма за 15 секунди, колку е
побрз компјутерот А од компјутерот Б?

 затоа A е 1,5 пати побрз од Б

 или компјутерот Б е 1,5 пати побавен од


компјутерот А
Мерење на перформанси
 Времето е мерка за перформансите на
еден компјутер
 Процесорското време на извршување
или, едноставно, процесорското
време, го претставува времето што му е
потребно на процесорот да ја заврши
одредената задача и притоа не го
вклучува времето потребно за чекање
на В/И или извршување други програми
Процесорско време
 корисничко процесорско време -
процесорско време поминато за
програмата
 системско процесорско време -
процесорско време поминато за
оперативниот систем, извршувајќи
задачи за одредена програма
Поими
 системски перформанси - за
поминатото време на неоптоварен
систем, а перформанси на
процесорот како литература за
корисничкото процесорско време

 перформанси на процесорот - за
корисничкото процесорско време
Подобрување на перформанси
 За да се подобрат перформансите на
една програма, мора да е јасно
дефинирано кои од метриките за
перформанси се важни, а потоа да се
пристапи кон откривање на тесните
грла во перформансите, преку мерење
на извршувањето на програмата и
барање на потенцијалните тесни грла.
Системски часовник
 сите компјутери се конструирани со
користење такт, кој одредува кога се
случува некој настан во хардверот.
 дискретни временски интервали = такт
циклуси
Мерки
 такт период - се однесува на времето
потребно за целосен такт циклус
 (Должината на секој такт циклус)
 (на пр., 250 пикосекунди, или 250 ps),

 брзина на такт
 (на пр., 4 гигахерци, или 4 GHz)
Основни метрики

 Од формулата е јасно дека дизајнерот


на хардверот може да ги подобри
перформансите преку намалување на
бројот на такт циклуси за програма, или
должината на такт циклусите.
Како да биде побрзо?
 Но, многу од техниките што го
намалуваат бројот на такт циклуси, исто
така, можат и да го продолжат времето
на такт циклусите.
Пример
 Една програма се извршува за 10 сек.
на компјутер „А“ со такт од 2 GHz.
 Направи компјутер „Б“, што ќе ја
извршува истата програма за 6 секунди.
 Зголемување на брзината на тактот
влијае врз дизајнот, и на компјутерот „Б“
ќе му се потребни 1,2 пати повеќе такт
циклуси.
 Колкава е треба да биде брзината на
тактот?
Решение
такт циклуси по инструкција
 го претставува просечниот број на
тактни циклуси потребни да се изврши
секоја инструкција
 кратенка ЦПИ
 clock cycles per instruction – CPI
Пример
 Да претпоставиме дека имаме две
имплементации од иста архитектура на
инструкциско множество.
 Компјутер „А“ - време на такт циклус од
250 ps и ЦПИ од 2.0, за некоја програма
 Компјутер „Б“ - време на такт циклус од
500 ps и ЦПИ од 1.2, за истата
програма.
 Кој компјутер е побрз и за колку, за
дадената програма?
Решение

 компјутерот „А“ е за 1,2 пати побрз од


„Б“, за оваа програма.
Перформанси на процесорот
Пример
 Дизајнер на компајлер се мисли меѓу 2
секвенци на код

 потребен е следниот број на инструкции

 Која секвенца е побрза? Колку е ЦПИ?


Решение
 Секв. 1 извршува 2+1+2=5 инструкции.
Секв. 2 извршува 4+1+1=6 инструкции.

 Кодната секвенца 2 е побрза, иако


извршува една инструкција повеќе
Големата слика
Перформансите зависат од
 алгоритмот,
 програмскиот јазик,
 компајлерот,
 архитектурата и од самиот хардвер.
ЦПИ и ИПЦ
 некои процесори преземаат и
извршуваат повеќе инструкции во еден
тактен циклус
 ИПЦ - број на инструкции по такт циклус
(instructions per clock cycle).

 Ако еден процесор извршува во просек


по 2 инструкции по такт циклус, тогаш
тој има ИПЦ=2 и ЦПИ=0,5.
Пример
 Јава програма се извршува 15 секунди
на десктоп процесор.
 нов Јава компајлер побарува само 0,6
од бројот на инструкции на стариот
компајлер, но, го зголемува ЦПИ за 1,1.
 Колку брзо може да очекуваме да се
изврши програмата користејќи го новиот
компајлер?
1.5 ЅИДОТ НА МОЌНОСТА
Ограничувања
Брзина на такт и моќност Intel х86
 Пентиум 4 постигна голем напредок во
брзината на тактот и моќноста, но
помалку во перформансите.
 Топлинскиот проблем на Прескот
(Prescott) доведува до напуштање на
линијата Пентиум 4.
 Затоа се преминува на линија Core 2 -
поедноставен проток со помала брзина
на такт и повеќе процесори на еден чип.
ЦМОС технологија
 Доминантната технологија за
интегрирани кола е наречена ЦМОС
(полуспроводник со комплементарен
метал-оксид)
 Главен извор на потрошувачка е
динамичката моќност – моќност што се
троши при преклопување.
Зависности
 Фреквенцијата на преклопување е
функција од брзината на тактот.
 Капацитативност на секој транзистор
претставува функција од бројот на
поврзани транзистори на некој излез
(наречено fanout) и технологијата, што
ја определува капацитативноста и на
жиците и на транзисторите.
Брзина на такт и моќност
 Како е можно брзината на тактот да се
зголеми за фактор 1000, а моќноста за
само 30?
 Моќноста може да се намали со
намалување на напонот - нова
генерација технологии, а моќноста е
функција од напонот на квадрат.
 Најчесто, напонот се намалуваше за
15% по генерација. За 20 години,
напонот падна од 5V на 1V.
Пример
 Развиваме нов процесор кој има 85% од
капацитетот на постарите процесори.
 Нека има приспособлив напон, за да
може да го намали напонот за 15% во
споредба со тој на процесорот „Б“, што
доведува до намалување на
фреквенцијата за 15%.
 Какво е влијанието врз динамичката
моќност?
Решение

 Добиваме дека новиот процесор


користи близу половина од моќноста
потребна за стариот.
Проблеми
 Намалувањето на напонот прави
транзисторите премногу да
„протекуваат“, како славина за вода што
не можете целосно да ја затворите.
 Околу 40% од потрошувачката е
последица од протекувањето.
 Ако транзисторите почнат да
протекуваат повеќе, целиот процес
може да излезе надвор од контрола.
Решение
 Дизајнерите прикачуваат големи уреди
за поголемо разладување и
исклучуваат делови од чипот кои не се
користат во одреден тактен циклус.
 Постојат уште многу други „скапи“
начини за ладење на чиповите.
Статичка моќност
 Поради струјата што тече како
последица од протекувањето, дури и
кога транзисторите се исклучени.
 Протекувањето е причина за 40% од
потрошувачката во 2008 година.
 Се користат разни техники и технологии
за контрола на протекувањето, но тешко
е да се намалува напонот уште повеќе.
1.6 ПАРАЛЕЛИЗАМ
Паралелизам
 Наместо скратување на времето на
одговор на една програма
 од 2006 година сите компании користат
микропроцесори со повеќе процесори
на еден чип,
 подобрување во капацитетот отколку во
времето на одговор.
Повеќе јадра
 За да нема забуна меѓу зборовите
микропроцесор и процесор
 процесорите се „јадра“ и таквите
микропроцесори најчесто се нарекуваат
повеќејадрени процесори. (multicore)

 „четиријадрен“ (quadcore) процесор e


чип кој има 4 процесори (4 јадра).
Раст на перформансите
Јадра на чип, брзина на такт и моќ
Проточност
 ги извршува програмите побрзо со
преклопување на извршувањето на
инструкциите.
 Паралелната природа на хардверот се
апстрахира, програмерот и компајлерот
си мислат дека хардверот ги извршува
инструкциите секвенцијално!
 Многу важен аспект - префрлање на
програмерите на експлицитно
паралелно програмирање
Паралелни програми
 Зошто им било тешко на програмерите
да пишуваат експлицитно паралелни
програми?
 Програмирање за поголеми
перформанси е потешко.
 Програмата треба да е исправна, да
решава важни проблеми, и мора да е
брза.
 Во спротивно, напишете секвенцијална
програма.
Паралелно програмирање
 Друга причина за тешкотија е тоа што,
за хардверот „брзо“ значи дека
програмерите мора да ја поделат
апликацијата на таков начин што секој
од процесорите да добие приближно ист
обем за работа во исто време!
 Прелевањето на задачи и
координацијата може да бидат тешки!
Пример 1/3
 Да се напише статија за весник.
 Ако работат осум новинари на истиот
текст потенцијално може да ја завршат
статијата осумпати побрзо.
 За да се постигне оваа брзина, некој
треба да ги подели задачите, така што
секој од новинарите да работи нешто
истовремено.
 Затоа задачите ќе мора да се
распоредат.
Пример 2/3
 Ако нешто тргне наопаку и само на еден
од новинарите му затреба повеќе време
отколку на другите седум, тогаш ќе се
изгуби придобивката од работењето со
осум новинари. Затоа, работите ќе мора
да се балансираат и обврските да се
доделат рамномерно, за да ја добиеме
посакуваната брзина.
Пример 3/3
 Друг проблем е ако новинарите трошат
многу време за меѓусебно договарање
за пишувањето на секциите.
 Може да се јави проблем, ако еден дел
од написот, како, на пример, заклучокот,
не може да се напише сè додека не се
завршат сите претходни делови.
 Треба да се намали вишокот операции
за комуникација и синхронизација.
Предизвик за паралелизам
 распоредувањето,
 урамнотежувањето на обврските,
 времето потребно за синхронизација и
 вишокот операции за комуникацијата
меѓу учесниците.
1.7 РЕАЛНИ ПРИМЕРИ
Производство
 Создавањето на еден чип почнува со
силициум (анг. силикон),
 се наоѓа во песокот!
 Полуспроводник!
Својства при обработка
 Одличен спроводник на електрична
енергија (со употреба на микроскопски
бакар, или алуминиумска жица);
 Одличен изолатор на електрична
енергија (како пластична или стаклена
заштитна обвивка);
 Површини кои може да се спроводници
или изолатори, во зависност од
околностите (како преклопник).
Транзистори
 Транзисторите спаѓаат во последната
категорија.
 VLSI е технологија која вградува
милијарди комбинации од спроводници,
изолатори и преклопници, склопени
заедно во едно мало пакетче.
Производство
 силиконска кристална прачка -
пречник од 8–12 инчи и должина од 12–
24 инчи.
 Прачката се сече на вафер плочки од
полуспроводнички материјал, не
подебели од 0,1 инч.
 Потоа тие поминуваат низ низа
производствени хемиски процеси
создавајќи ги транзисторите.
Процес на производство
Дефекти
 Една единствена микроскопска грешка
кај вафер плочките, или во некој од
многуте производствени постапки, може
да доведе до испад во таа област на
вафер плочките.
 Поради овие дефекти е невозможно да
се создаде совршена вафер плочка.
Чипови
 вафер плочки потоа се сечкаат на коцки,
наречени и чипови.
 Сечењето овозможува да се отфрлат
само коцките кои содржат недостатоци,
наместо целата вафер плочка.
 Принос од процесот е процент на
добри коцки, од вкупниот број коцки од
полуспроводнички материјал.
Вафер плочка на АМД Оптерон

12 инчи = 30 cm
Трошоци на производство
 Трошоците се зголемуваат со
големината на коцката, поради малиот
број делчиња од една вафер плочка.
 За да се намалат трошоците, најчесто
големите коцки се „стеснуваат“ со
примена на процеси од нова генерација,
што користат помали транзистори и
линии.
 доведува до подобрување на приносот!
Финализација
 Добрите коцки се поврзуваат со
влезно/излезните пинови при
пакувањето, со примена на постапката
наречена сврзување.
 Овие спакувани делови се тестираат
последен пат!
Моќност како препрека
 Моќноста треба некако да се донесе и
дистрибуира низ процесорот преку
стотици пинови само за напојување и
заземјување!
 Слично на ова, се користат многу нивоа
на поврзување единствено за
дистрибуција на напојувањето и
заземјувањето до делови од чипот.
Моќност како препрека
 Моќноста се одведува во вид на
топлина.
 АМД Оптерон Х4 2356, на 2,0 GHz,
согорувал 120 вати во 2008 година, што
мора да се отстрани од чипот со
површина од 1см2!
Цена на интегрирано коло
Референтни тестирања
 Множеството програми што се
извршуваат ги создаваат
оптоварувањата.
 За да процениме два компјутерски
системи - треба да ги споредиме
времињата на извршување на
оптоварувањата кај двата компјутери.
Тестирања
 методи за мерење на перформансите -
придружена со процена на компјутерот
со помош на множество програми за
бенчмарк тестирање, посебно одбрани
за мерење на перформансите.
 Бенчмарк тестовите создаваат
оптоварувања за кои корисникот се
надева дека ќе ги предвидат
перформансите на вистинските
оптоварувања.
СПЕК Бенчмарк (SPEC)
 Прва генерација Spec89
 Последна генерација е Spec CPU2006,
која се состои од:
 12 бенчмарк тестови со цели броеви
(CINT2006) и
 17 бенчмарк тестови со подвижна запирка
(CFP2006).
SPECINTC2006 бенчмарк тестови
АМД Оптерон Х4 модел 2356
Материјал за овој час
 Компјутерска организација и дизајн,
Патерсон и Хенеси, 4то издание,
Просветно дело 2010.
 Подглава 1.4 до 1.7 (вклучено)
Подготовка за следен час
 Компјутерска организација и дизајн,
Патерсон и Хенеси, 4то издание,
Просветно дело 2010.
 Од подглава 2.1 до 2.3

You might also like