Наближаваме предела на изчислителната мощност и имаме нужда от нови програмисти

Оригиналът е на John Naughton

27
7050

Все по-бързите и по-бързите процесори доведоха до появата на ужасно раздут софтуер, но пределът на изчислителната мощност е съвсем близо и може да се наложи да се върнем към по-скромен вариант на сорс кода, какъвто се използваше в миналото.

Отдавна, още през 1960-те години, Гордън Мур, един от основателите на Intel забеляза, че броят на транзисторите в силициевите чипове се удвоява приблизително на всеки две години. И тъй като броят на транзисторите е директно свързан с изчислителната мощност, на практика това означава, че и изчислителната мощност се удвоява на всеки две години. Така се роди Законът на Мур, който осигури за работещите в процесорната индустрия хора същата надеждна база, каквато дават законите на Нютон за инженерите по механика.

Тук има един важен момент. Законът на Мур е просто емпирична корелация, наблюдавана през определен период от време и съвсем не е задължително да продължи да бъде валиден. През 2010 година отново Гордън Мур предсказа, че законите на физиката ще спрат това експоненциално увеличение на изчислителната мощност:

„Що се отнася до размерите на транзисторите“ – каза Мур, „виждаме, че вече се приближихме до размера на атомите, което е една фундаментална бариера, но докато това наистина стане, ще има още две или три нови поколения транзистори. След това няма да сме в състояние да предсказваме развитието на събитията в тази област. Ние имаме 10 или максимум 20 години докато достигнем този фундаментален предел“.

И ето че стигнахме до 2020 година и идеята, че ще разполагаме с непрекъснато растяща изчислителна мощност, която ще задоволи всички потребности, започна да изглежда прекалено самоуверена. И тъй като този факт бе очевиден за всички, които са в този бизнес, бяха проведени огромен брой изследвания, които даваха възможност чрез най-различни хитри начини в компютрите да бъдат използвани все по-големи изчислителни мощности. Такива са например многоядрените архитектури, при които един процесор има две или повече ядра. Всичко това се правеше, за да бъде отложен онзи ужасен ден, когато силициевите чипове няма да могат да предложат нищо ново – така например, новият Apple Mac Pro се базира на 28-ядрени процесор Xeon. Съвсем естествено е, че с изключително бързи темпове се развиват изследванията в областта на квантовите компютри, което по принцип може да стане епохален пробив.

На за изчисленията е необходима комбинация от хардуер и софтуер. Едно от лесно предсказуемите последствия от закона на Мур е, че новият хардуер направи програмистите мързеливи. Писането на програми е сложен занаят, който на някои се отдава много добре, а на други не толкова. Първите пишат по-елегантен и ясен код, който се изпълнява по-бързо. В ранните времена, когато хардуерът бе сравнително примитивен, майсторството на програмиста бе от огромно значение. Така например, когато Бил Гейтс е бил малко момче, е написал BASIC интерпретатор за един от най-първите компютри – TRS-80. И тъй като тази машина има съвсем малко ROM, Гейтс е трябвало да събере своя интерпретатор за програмния език BASIC само в 16 KB. Той е написал кода на асемблер, за да увеличи ефективността и да икономиса място. Има дори легенда, че в продължение на много години той е можел по памет да възпроизведе целия този код.

В ранните години на историята на изчислителните машини има хиляди подобни истории. Но с възцаряването на Закона на Мур, интересът към елегантния и ефективен код постепенно изчезна и се промени мотивацията. Програмирането се превърна в промишлена дисциплина за „софтуерните инженери“. Създаването на цели софтуерни екосистеми като операционните системи и комерсиалните програми започна да изисква участието на цели екипи от разработчици. А на тази основа израстна бюрокрацията в лицето на мениджърите на проекти и изпълнителни директори. Големите софтуерни проекти се превърнаха в нещо кат Марш на смъртта, които най-ярко описа Фред Брукс в своята знаменита книга „Митичният човекомесец“ (The Mythical Man-Month), публикувана през 1975 година и оттогава непрекъснато се преиздава поради една твърде уважителна причина – книгата е актуална и днес. Тя много добре описва, по какъв начин софтуерът се раздува и става неефективен.

Но това няма значение, понеже хардуерът предлага все по-големи изчислителни възможности, които скриват проблема с раздутия софтуер, известен и като bloatware. Добросъвестните и талантливи програмисти се вбесяват от всичко това.

„Както виждам, единственото последствия от появата на още по-мощен хардуер е това, че програмистите пишат за него все по-раздути програми. Те стават все по-мързеливи и тъй като хардуерът е достатъчно бърз, те не си правят труда да изучат алгоритмите и да оптимизират своя код. Това е безумие!“ – пише един от тях.

И да, нещата стоят точно по този начин. В една от своите лекции, Нейтън Мърволд, бивш главен софтуерен инженер на Бил Гейтс, изведе своите четири закона за софтуера:

  1. Софтуерът има поведението на газ – той се разширява, за да изпълни всичкото свободно пространство
  2. Софтуерът расте, докато не достигне пределите, зададени от Закона на Мур
  3. Ръстът на софтуер помага на Закона на Мур – хората купуват нов хардуер, понеже това изисква софтуерът
  4. Софтуерът е ограничен единствено от човешките амбиции и очаквания

В същото време, когато властта на Закона на Мур е към края си, от законите на Мърволд следва, че имаме само два варианта. Или ще ограничим амбициите си, или отново ще започнем да пишем по-икономичен и ефективен код. С други думи – назад в бъдещето.

27
ДОБАВИ КОМЕНТАР

avatar
10 Коментари
17 Отговори на коментарите
0 Последователи
 
Коментарът с най-много реакции
Най-горещият коментар
  Абонирай се  
нови стари оценка
Извести ме за
_nib_
_nib_

Прав е.Само дописвачи.И се разду…..мамата си джейс.

Цветомира Бекриева
Цветомира Бекриева

а аз имам нужда от някой с големи МУСКУЛИ като Johnny Sins например….

Mianmar
Mianmar

Мoмe., мисла ,че имаш по голяма нужда от някой по голям пещерист мускул прегрял да те тътри по нанагорнището, докато ти потече шампанско от ушите Цветенце. Uй, така да се каже.

Чип за зеле
Чип за зеле

Интересно кога ще започне да се автоматизира и този бранш? Не съм специалист, но според мен ако машините все още не са достатъчно интелигентни за да пишат по-голямата част от софтуера си, то много скоро ще бъдат. А може програмистите нарочно да бавят топката.

яз я
яз я

Скоро ИИ ще замести половината програмисти и кога ще е свръх оптимизиран. Само дето ние хората ще спрем да разбираме кода му и дотам.

Келеш
Келеш

Съсипаха го и тва програмиране

United Against Communism 🇧🇬🇪🇺🇺🇸🇬🇧🇨🇦🇦🇺
United Against Communism 🇧🇬🇪🇺🇺🇸🇬🇧🇨🇦🇦🇺

Изчиcлитeлнaтa мoщнocт нe e тoлĸoвa вaжнa нa тoзи eтaп зa ĸoнcyмaтopcĸaтa тexниĸa – тeлeфoни, тaблeти, лaптoпи. Hyжнa e eнepгoeмĸocт зa дa ca лecнo пpeнocими и дa им издъpжa бaтepиятa дългo. Toвa идвa c АRМ. Aĸo изчиcлeниятa нa лoĸaлнaтa мaшинa трябва да се подобрят, то ни трябва APU, което подобно на Cell да интегрира своята видео мощ. Всички знаем, че латенцията на РАМ-та към видеокартите, комбинирани с огромния брой ядра позволява до внушителна производителност, когато става дума за огромен обем от данни. Третата естествена стъпка е cloud компютинга. Защо да харчим ресурси на локалните машини, след като това оставя огромен климатичен… Виж още »

United Against Communism 🇧🇬🇪🇺🇺🇸🇬🇧🇨🇦🇦🇺
United Against Communism 🇧🇬🇪🇺🇺🇸🇬🇧🇨🇦🇦🇺

Не мина много време и Ганьо се обади. Обижда човек без да знае от какъв пол е, нарича го педераст, но му прави сексуален намек. Половината Ганьовци са латентни хомосексуалисти.

БегиМани
БегиМани

Тези словоблудства за тотален контрол можеш да си ги навреш знаеш къде… 🙂 🙂 🙂

Емигрант
Емигрант

Бай Ганьо не може без обида, не може да говори логично и без обиди, но и няма кой да го модерира. Давай Ганьо, цял свят е срещу тебе.

БегиМани
БегиМани

Ганьо да се наричам първа радост е за мен! Горд съм, че не съм промит мозък като теб даващ дупе и гащи да се превърне в реалност „1984-та“ на Оруел. Ама ти дето не си Ганьо, надали си и чувал за тази книга, камо ли да си я чел. Живей си там в капиталистическия „рай“ и не ни мисли нас.

Ммм
Ммм

Наричат се знамена, където работя, ако някой пише и говори подобни тъпотии като тебе ще е уволнен на момента. Успех в Тъполандия.

Борис Михайлов
Борис Михайлов

Това което пишеш е централизираните сметки- така беше до преди клоуда. Клоуда е точно разпределяне сметките към тия с телефончетата. Правят се опити, но бързо им свършват батериите за сега 🙂

ХА-ХА-ХА-ХА :))))))
ХА-ХА-ХА-ХА :))))))

Размечта се :))) По-точно – мечтаят си господарите му за тотален контрол, при който всички данни се съхраняват на техните сървъри. А шабес-гойчето само повтаря като папагал каквото са му спуснали от НПО-то, за да си заработи дневната дозичка „соли за вана“…

90*C VRM STRIX
90*C VRM STRIX

Аман от идиоти които ми говорят за бъдещето пък не могат да видят пред носа си.
Не знам в кой свят го реши това всичко да е на Cloud за да се намали латентността…

United Against Communism 🇧🇬🇪🇺🇺🇸🇬🇧🇨🇦🇦🇺
United Against Communism 🇧🇬🇪🇺🇺🇸🇬🇧🇨🇦🇦🇺

Искам нещо също много важно да наблегна, никой не е поставил производителността като главен приоритет, а енергоемкостта. Възможността за висока производителност беше приоритет на предходното десетилетие. Нужни са критични стъпки към спирането на климатичните промени, производителността не може да се плаща с цената на такъв разход на енергия.

tnt
tnt

еии едно време какво програмиране имаше..

Кольо
Кольо

Въпросът е, дали това което тъпите кодери днес „работят“, въобще може да се нарече програмиране? Те са тъпи кодери, не са програмисти, съответно и не могат да програмират, защото НЕ ЗНАЯТ как.

aan
aan

Затова на програмистите слаби(орязани) компютри и всичко ще е ок.

Кольо
Кольо

Компютри с Пентиум I на 75 мегахерца, мисля че им е твърде много, ама от мен да мине.

БегиМани
БегиМани

Много си щедър! От мен да мине 286 на 20MHz от Harris… 🙂 🙂 🙂

8087
8087

Абе Harris, първите 286 на Intel, май на по 12mhz бяха или XT направо 😀

БегиМани
БегиМани

Мдааа, хубави години бяха, какво знаят днешните пишлегари с амнайсе хиляди ядра на по 4-5GHz… 🙂

progi
progi

Думите „оптимизация“ и „ефективност“ са без значение, когато думата „цена“ застане до тях.

Помислете – ако сте поръчали софтуер и са ви дали бързо работеща версия, ще доплатите ли още 30% над цената и да изчакате още 3 месеца за оптимизация?
Не, нали?!
Вместо това ще качите софтуера в „облака“, където ви обещават неограничена процесорна мощ и памет.

БегиМани
БегиМани

Да, ще го направя, но малцина са хората като мен които искат КАЧЕСТВО пред количество. То затова и сегашната техника не може да си изкара гаранцията, защото – когато думата „цена“ застане до тях. Аман от консуматорско мислене и планово остаряване! Тъпи галфони сте и такива ще си останете! п.п. Нагледен пример е Вирус10 – индусите бълват код в неусвес и светкавично, ама това че е пълен с бъгове, затрива потребителските данни, счупва звука, безжичните мрежи, принтерите и какво ли още не… На кого му пука? Със сигурност, не и на идиотите за които – Думите „оптимизация“ и „ефективност“ са… Виж още »

pix3l
pix3l

Собствени проекти можеш да оптимизираш колкото си искаш… когато става въпрос за комерсиален софтуер, оптимизацията е последното нещо, което се гледа.
Никой няма да ти плати повече, че си отделил 10 часа за да направиш алгоритъма си 100ms по-бърз, понеже, според хората, 10 часа можеш да отделиш на някакъв фийчър, който ще има по-голяма стойност от тези 100ms.

свилен
свилен

Има едни хора – казват, че природата празно не търпяла. Пълнат, тъпчат, навират – вакуум било. Да изпълнят със себе си, да напълнят телата си, а после да изпълняват и задачки.
Обичат да стават и изпълнителна власт. Тя така усеща правомощията си да се навре във всяко лице – като всмукване във вакуум.