Dec 29 2012

Catch up with “the technologies”

Category: Dev,embeddedLucho @ 19:06

While I am waiting to get my Raspberry Pi and making plans what to do with it (probably a Raspbmc) I started promoting friends of mine about raspberypi.org. Some of them were familiar with it already or got really enthusiastic, others replied “I don’t see any practical use of it”. That is true, you can not find practical use of something you have not seen or played with yet. That is why you need to get one – to be able to find any application of it in your work or life. And if you can’t … well, may be then you should be allowed to say “I don’t see any practical use of it”.

I bought Arduino starter kit this summer and I did not make anything meaningful out of it. Instead of that, I actually made something funny and exciting (for me at least) out of it.

Well, the original idea was to build obstacle avoiding robot based on Arduino, but then the KTH semester started and I got overwhelmed with other less funny and exciting stuff. Never the less, I got my hands dirty with that board and now I know better what are the limitations and the features of it. And this is what matters.

By the way, in Swedish “semester” means “vacation”. I know, right.

I leave you with one awesome TED talk, which friend of mine shared with me. The key concept stated in it is – People don’t buy what you do, they buy why you do it.

If you see Arduino, Raspberry Pi or any other piece of technology only as “what” and you are not passionate about it, then you are screwed. Sorry :P.


Dec 07 2011

Network of Things

Category: Dev,embedded,НеБългария,НонсенсLucho @ 20:32

50 000 000 000

Ако преди 20 години малко хора са си представяли, че от WWW ще произлезе нещо огромно и ако преди 10 години малко хора са си представяли, че ще браузват интернет от телефоните си, то не е трудно да си представим колко малко хора си представят, че след 20 години хладилниците и пералните ни ще си комуникират по между си.

Ериксън се опитва да натрапи тази идея:

И най-вероятно това ще се случи.

2050 година, 50 милиарда устройства свързани в мрежа, 10% от общия трафик на данни ще е генериран от хора (останалото от машини), експоненциален ръст на обмена на данни всяка година, хладилникът и пералнята ви си говорят… think about it.

В момента естествено сме относително далеч от това. Bandwidth-a още е много малък, за да може това да се реализира.

LTE

Long Term Evolution или алтернатива на WiMax за 4G свързаност. Пълен дуплекс с времеделене (time-division) – два канала за пренос на данни вървящи паралелно, 300Mbit/s down-link.

Първият 4G базиран на LTE е баш в Швеция, оператора се казва Telia… и кой друг освен Ериксън може да е изработил мрежата им :).

Btw, ако спрете клипчето на 1:01 минута, ще видите че това на екрана е media player… it’s ALL LIES!

Battery

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

За това и няма много телефони, които да са с 4G… но скоро идват – Samsung Galaxy S2 LTE … в Швеция. В Бг не знам.

Батериите зависят от химиците. Ако сте химик, моля, побързайте да направите някоя по-сносна батерия 😀

Това са парчетата от пъзела. Бъдещето звучи яко, а 😉

Tags: , , ,


Nov 22 2011

Нуждата от многоядрени процесори

Category: Dev,embedded,НонсенсLucho @ 17:02


Част I

Защо аджеба имаме многоядрени процесори в стандартните персонални компютри?

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

Да вземем например процесор с 64 ядра. Всъщност дори и с 64 ядра… имаме 1 шина (северния мост), за достъп до паметта. Как 64 ядра могат ефективно да пишат и четата от паметта? Да не говорим за кеш кохийранс и потенциалните проблеми породени от false sharing-a.

Проблемът на многоядрените процесори са хората-мислещи-последователно-вместо-паралелно-защото-така-са-свикнали и достъпът до споделени ресурси. 64 ядра vs. една памет, един кеш, един кернел… и още много неща, които са по едно. Как 64 неща могат да работят ефективно с едно нещо едновремено и да са в синхрон – това е проблемът.

Защо нямаме едно ядро, което да върви на 64*3GHz?

Много уместен въпрос! Процесор с честота 192GHz звучи като решение на изначалния проблем – Защо да не си караме с едноядрен процесор на супер висока честота?

well…

  • Скоростта на светлината във вакуум е ~300 000 000 м/сек.
  • 192GHz са 192 000 000 000 такта в секунда

Простата сметка 300 000 000 / 192 000 000 000 = 1.5mm , показва че този процесор трябва да е голям около 1 милиметър (кв., куб.), за да може часовникът да разпространи сигнала си в него 192 милиарда пъти в секунда… и това са някакви груби, половинчати сметки. Това, което се опитвам да ви накарам да осъзнаете е че:

  1. Не може да поберете процесор в такова пространство.
  2. Ако поберете процесор в такова пространство ще ви трябва нещо по-студено от течен азот за да го охладите. Ще ви трябва и малка електроцентралка, за да го захраните.
  3. Ако успеете да намерите нещо по-бързо от светлината… good for you!

Част II

Единственият начин да имаме повече изчислителна мощ със сегашните закони на физиката е като имаме повече изчислителни устройства, които работят паралелно. За това си купувате 2-4-8 ядрени процесори на ниска честота (2 GHz).

Но един процес винаги върви на едно ядро – т.е. ако имате един единствен процес и искате да върви бързо, тогава ви трябва едно единствено ядро на висока честота (4 GHz например, вместо 2GHz). Това е миниатюрна частичка от един друг голям проблем – Ако имате програма, която изчислява някакъв резултат за X секунди на процесор с 1 ядро, нямате гаранция че ако пуснете програмата на процесор с 8 ядра със същата честота, тя ще върви 8 пъти по-бързо. Нещо повече, вашата програма може да върви дори по-бавно от колкото на 4 ядра. Т.е. вашият софтуер може да не се скалира добре върху многоядрена архитектура.

Това е като да си хирург в 13-ти век… взимаш някакъв труп и пориш, и изучаваш, и не разбираш, и си блъскаш главата… и след 100-200 години вече всичко е ясно и човечеството вече знае как работи човешкото тяло.

Ние сме в 13-ти век 🙂

Tags: ,