miejski samochód

massachusetts institute of technology – jedna z najbardziej znanych uczelni technicznych na świecie. i do tego miejsce które co chwilę ma nowe fajne projekty badawcze.

tym razem badacze z mit wymyślili nowy samochód. miejski. na czym polega jego “nowość"? na modelu używania, ilości zajmowanego miejsca itd.

ponowie opracowali samochód 2 osobowy który można “składować" jak wózki w supermarkecie. działa na silnik elektryczny i ma interesujący model działania/używania. mianowicie nie miałby to być samochód do kupienia. idea jest taka, że miasto kupuje ich dużo, rozmieszcza w potrzebnych miejscach. a użytkownicy? podchodzą do dowolnego samochodu, wsiadają i jadą. płacą kartą przy użyciu. minus – muszą odstawić na miejsce. niekoniecznie to z którego wzięli – wystarczy dowolny “parking" tych samochodzików.

nie jest to na pewno samochód na długie podróże. ale na proste “podjechanie do klienta" czy “skoczenie do sklepu" – może się okazać wystarczający. pomysł ciekawy.

na stronie boston globe można znaleźć artykuł, ale co ciekawsze – flashową prezentację tego jak to ma działać.

porównanie implementacji ruby’ego

dzięki znajomemu (hi tmarc) dowiedziałem się o ciekawym tekście. autor porównał w nim wydajność kilku (41) testów w różnych implementacjach języka ruby.

udział wzięły kanony:

  • ruby 1.8 (na linuksie i na windows vista
  • ruby 1.9

ale także wersje mniej standardowe:

  • jruby
  • gardens point ruby .net (wersja beta, na windows vista)
  • rubinius
  • cardinal

porównano wydajność każdej z implementacji w stosunkdu do złotego wzorca – czyli 1.8 na linuksie.

efekt? no cóż. 1.9 zdecydowanie rządzi. ruby 1.8 na linuksie ma drugie miejsce. wersja na windowsach jest trochę wolniejsza, ale (co ważniejsze) wywala się na 2 testach!

pozostałe implementacje: wolno i kiepsko. “hitem" jest cardinal – większość testów zakończona błędem, dwa trwały powyżej  15 minut i zostały ręcznie ubite (te testy były “zrobione" przez 1.8 w czasach 9.5 i 0.5 sekundy!). choć trzeba przyznać, że w 3 testach cardinal osiągnął najlepszy wynik. wydajnościowo gorszy był rubinius, ale on miał mniej errorów (“ledwie" koło połowy).

można spojrzeć by rozwiać złudzenia, lub nauczyć się czegoś z testów.

nowa technologia kości ram

ibm ogłosił, że opracowali właśnie nową technologię produkcji kości ram.

nowe kości są rozwinięciem idei i metody produkcji dram, ale prędkością zbliżone do sram. czyli około 2 krotnie szybsze od obecnych kostek.

sram od zawsze był szybszy, ale te kości były sporo większe niż standardowe dramy. więc się nie przyjmowały w standardowych zastosowaniach. teraz jednakże – gdy nowy dram ma osiągnąć wydajność sram, można liczyć na spory przełom.

poza zwiększoną szybkością nowe kości mają być też pojemniejsze. trzykrotnie!.

podsumowując: 3 razy więcej ramu, działającego 2 razy szybciej. ciekawe tylko kiedy to wejdzie do seryjnej produkcji i sprzedaży – na razie ibm szacuje, że pierwsze handlowe kości pojawią się w 2008 roku i będą to pamięci serwerowe. inne typy pamięci pojawią się później. a kiedy do laptopów?

dlaczego “kocham” mysql’a

postawiłem sobie w miarę nowego mysql'a: Server version: 5.0.32-Debian_2-log Debian etch distribution.

zrobiłem sobie testową tabelkę:

mysql> CREATE TABLE x (id INT PRIMARY KEY);
Query OK, 0 ROWS affected (0.05 sec)

sprawdzam czy dobrze się założyła, wygląda ok:

mysql> desc x;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI |         |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.08 sec)

no to teraz pora na zabawę. wstawiam tam 1 rekord:

mysql> INSERT INTO x (id) VALUES (6);
Query OK, 1 ROW affected (0.06 sec)

nadal ok. to teraz wstawiam 10 rekordów z celowym błędem:

mysql> INSERT INTO x (id) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
ERROR 1062 (23000): Duplicate entry '6' FOR KEY 1

i teraz zagadka/pytanie:

ile jest rekordów w bazie?

odpowiedź – po przerwie.

Continue reading dlaczego “kocham" mysql'a

postgres 8.3 – wishlist

dobrze wiedzieć co się pojawi w nowej wersji. ten site przedstawia skrótowo to co ma być, może być, fajnie by było jakby było, a co prawie na pewno spadnie do 8.4.

z ciekawszych rzeczy – “grouped index tuples", osbługa xml'a w bazowym postgresie, identity/generated (rany, jak mi tego brakowało), tsearch2 w postgresie bazowym, no i enumy.

co z tego faktycznie wejdzie – zobaczymy. ale zapowiada się miło.

aha. spojrzałem, że mają się też pojawić indeksy bitmapowe. sama funkcjonalność miła, ale jak dla mnie indeksy bitmapowe są ultra-ciekawe z prostego i poza technologicznego powodu. już teraz od groma ludzi myli to co jest w postgresie “bitmapy indeksowe" z tym co by chcieli by było “indeksy bitmapowe". co zrobią ci wszyscy jak do postgresa wejdą te prawdziwe indeksy?

heh.

power6 – nowa, lepsza generacja

ibm od dawna produkuje procesory. i o ile apple z nich zrezygnował, o tyle mają się one świetnie w świecie super-serwerów. dość powiedzieć, że w ostatniej liście top-500, aż 91 maszyn było opartych o architekturę power. niby niedużo (architektury ia-32, amd64 i em64t są popularniejsze), ale wygląda to inaczej gdy spojrzymy na 100 najmocniejszych maszyn – z nich 41 to power'y. i są zdecydowanym liderem – druga w kolejności architektura – amd64 ma tylko 21 maszyn!.

ostatnio ibm zapowiedział wypuszczenie kolejnej generacji – power6. nowy procesor ma dawać dwukrotnie większą moc niż dotychczasowe power5+, przy zachowaniu tej samej energochłonności.

częstotliwości są mocarne – na początek zaplanowano wypuszczenie wersji prostej – 5ghz :). a potem mają wyjść procesory kręcone jeszcze wyżej.

co do kwestii czysto technicznych – mało nowinek. po prostu mocniejszy chip, 2 rdzenie, przetwarzanie 2 wątków jednoczesnie w rdzeniu.

sporo natomiast się zmieniło jeśli chodzi o kwestie prądu.

ostatnie badania poinformowały, że serwerownie w stanach zużywają łącznie więcej niż cały stan mississippi. a nie jest on najmniej energochłonny – jest jeszcze 19 innych zużywających mniej. w skrócie – od groma prądu. szacuje się, że roczne zużycie prądu przez serwerownie na całym świecie to 123 miliardy kilowatogodzin.

ibm widać też wie o tym i sporo kombinuje jak obniżyć zużycie prądu. po pierwsze – procesor będzie płynnie zmieniał częstotliwość w zależności od obciążenia. do tego – zastosowano wszystkie sztuczki modeli powerpc 970 – specjalnej linii procesorowej dla blade'ów. w chwili obecnej linia powerpc 970 zostaje zarzucona gdyż wszystkie mechanizmy które były tam zastosowane zostały też zmigrowane do main-streamowej wersji power6.

co ciekawe – procesorowi można będzie na sztywno ograniczyć zużycie prądu.  np. ustawić to na 300wató. dzięki czemu co by sie nie działo, i jak by procesor nie był obciążony – nie będzie pobierał więcej.