Nowe posty

Autor Wątek: Virtualizacje - KVM, Xen, Vmware, VirtualBox... nasze zdanie  (Przeczytany 6366 razy)

WizardNumberNext

  • Gość
Witam.
Niestety nie ma kategorii, która będzie potrzebna już wkrótce - Virtualizacja.
VMware używam już kilka lat i chciałbym się z wami podzielić swoim zdaniem o różny7ch produktach służących do virtualizacji.

VMware 7:
Produkt umożliwia virtualizacje na procesorach wyposażonych w CMOV takich jak Intel Pentioum III (jak dla mnie zawsze był szrotem), AMD Athlon Classic czy XP (przerasta p3 o głowę) i nowszych.
Produkt jest dosyć szybki i dopuki się nie bawimy w video lub emulację innych komputerów to różnica prędkości pomiędzy Hostem (gospodarz) a Guest (gość) jest minimalna. Tak samo różnica pomiędzy OSem działającym bezpośrednio na sprzęcie, a tym virtualnym. Aplikację, które odtwarzają video mogą wolniejsze lub całkiem wolne (czasami nawet do tego stopnia, że nic tylko wyłączyć). Emulacja procesora innej architektury czy też calego sprzętu pod VMware może przynieść bardzo ciekawe wyniki - wydajność jest bardzo niestabilna i czasem uzyskuje się przędkości kilkakrotnie szybsze niż pod sprzętem, ale zazwyczaj jest to do 100x wolniej niż pod sprzętem.
VMware w wersji 32b już od lat jest nieużywalne z nowymi Linux Kernel; tzn bez łatek nie działa. Najnowsze jądra tak się zmieniły, że nawet łatki nic nie dają.
VMware w wersji 64b działa i to bez łatek (ja używam na 2.6.38.4, czyli najnowszym w chwili pisania tego posta). Jest szybkie, a dzięki architekturze amd64 ma do dyspozycji dwa razy więcej rejestrów i AMD-V (virtualizacja w procesorze).
Dla tych bardziej ciekawych:
virtualizacja na OS 32 odbywa się w ring 2, na 64b w ring 4. Procesory IA32 (nie mylić z IA64 - to całkiem inna architektura i to kompletnie niezgodna z IA32) mają 4 ring'i. W 1. działa jąrdo (i tylko jądro). E 4. ring'u działają nasze aplikację. Także virtualizacja na 64b OS traci trochę bezpieczeństwa.

VirtualBox 4.0.4:
Tak trochę się bawię tym ( nie mając wyboru przez chwilę musiałem znaleźć inny program do virtualizacji) i stwierdzam, że jest bardzo elastyczny i wydajny. Jest nieco mniej elastyczny niż VMware (spod graficznego interfesju nie stworzysz Maszyny Virtualnej z fizycznym dyskiem i wymaga to trochę kombinacji, do tego fizyczny dysk jest nieosiągalny dla zwykłego użytkownika - tylko root). Jest nieco wolniejszy niż VMware.
Ma za to większy wybór virtualnego sprzętu (SATA, HDA, wiele kart sieciowych).
Mało testowałem, więc więcej niz nie powiem.

Xen 4.0:
Najprawdopodbniej będzie to moja ulubiona virtualizacja. Niestety jeszcze nie wiem, bo jeszcze nie testowałem. Znaczy niby testowałem, ale tylko z jednym OS pod Xen, więc się nie liczy. Stawiam właśnie 64b Debian 6 na server, który będxize działał pod Xen 4.0
Plan jest taki, że będę miał na tym serverze dwa takie same Debian'y. Jeden jako proxy ogólne, drugi jako proxy dla google-maps, youtube i takich stron.
Na dzień dzisiejszy wykorzystanie procesora na server'ze mam tak nie więcej niż 4% przy 1GHz (AMD Athlon 3400+ 2.4GHz 512KiB L2 s754), więc mogę sobie pozwolić na drugi OS.

A teraz pytanie do was:
Co sądzicie o Xen? Z czym to się je i czy jest "smaczne"? Ja się niedługo przekonam i na pewno was powiadomię o mojej opini.
Piszcie o Virtualizacjach, niech inni mają już łatwiejszy wybór.

kleer94

  • Gość
Virtualizacje - KVM, Xen, Vmware, VirtualBox... nasze zdanie
« Odpowiedź #1 dnia: 2011-04-28, 22:56:26 »
Ja zawsze na wirtualizacjach sprawdzałem, bawiłem się i testowałem połączenia sieciowe.
Robiłem to na VirtualBoxie i nigdy nie miałem problemów z ustawieniem kart sieciowych.
Nigdy nie miałem potrzeby zmieniania go, więc nie zmieniam ;] Troche ograniczony jestem no ale w tym zakresie chyba można.
Ogólnie elegancko. Można na nim puszczać ovf i ova bez problemu.
Wiem, że jest jakieś rozszerzenie do WMPlayera, które nie obsługuje VB, ale poza tym to nie ma na co narzekać.

Offline mateo86

  • Users
  • Guru
  • *****
  • Wiadomości: 647
    • Zobacz profil
Virtualizacje - KVM, Xen, Vmware, VirtualBox... nasze zdanie
« Odpowiedź #2 dnia: 2011-04-29, 01:26:43 »
Ciekawy opis, ale wg mnie lekko zamotany nie do końca wyjaśniające niektóre kwestie. Dodatkowo miejscami wprowadzasz niepotrzebne zamieszanie, np.

Cytat: "WizardNumberNext"
ntel Pentioum III (jak dla mnie zawsze był szrotem), AMD Athlon Classic czy XP (przerasta p3 o głowę)
Porównujesz procesory z różnych epok. Normalną rzeczą jest że te wersje procesorów AMD są wydajniejsze od p3. Odpowiednikiem Intela są procesory Pentium 4 oraz Pentium D.
Być może nawet zdziwi Cię fakt, że jeśli weźmiesz CPU AMD i Intela z tego samego segmentu, to Intel jednak delikatnie, ale w sposób odczuwalny będzie wydajniejszy. Nie przekreślaj tej firmy tak od razu ;)

Cytat: "WizardNumberNext"
wydajność jest bardzo niestabilna i czasem uzyskuje się przędkości kilkakrotnie szybsze niż pod sprzętem
O ile dobrze rozumiem chcesz powiedzieć, że emulowane środowisko działa szybciej od natywnego? Jeśli tak jest, to coś Ci koszmarnie zwalnia system.

Cytat: "WizardNumberNext"
VMware w wersji 32b już od lat jest nieużywalne z nowymi Linux Kernel; tzn bez łatek nie działa. Najnowsze jądra tak się zmieniły, że nawet łatki nic nie dają.
Zapewniam cię, że wersja 32 bitowa jest nadal używana z nowymi jądrami i ma się dobrze. VMware to zbyt poważna firma, by odpuścić sobie malejący, ale wciąż pozostający w znacznej większości segment procesorów 32 bitowych.

Cytat: "WizardNumberNext"
VMware w wersji 64b działa i to bez łatek (ja używam na 2.6.38.4, czyli najnowszym w chwili pisania tego posta). Jest szybkie, a dzięki architekturze amd64 ma do dyspozycji dwa razy więcej rejestrów i AMD-V (virtualizacja w procesorze).
To że ma 2x więcej rejestrów do dyspozycji znacząco nie wpływa na szybkość pracy. I nie należy mylić technologii amd64 oraz amd-v. Jedno nie implikuje drugiego. Dopiero po jakimś czasie amd-v zostało dodane do procesorów. Nie wiem czy jeszcze są, ale procesory z 'najniższej półki', pomimo, że mają technologię 64 bitową, to niekoniecznie mają wirtualizację.

Cytat: "WizardNumberNext"
virtualizacja na OS 32 odbywa się w ring 2, na 64b w ring 4.
Tu się nie zgodzę. Po pierwsze warto by wyjasnić co to jest ten 'ring' i z czym go się je. Po drugie nigdy nie spotkałem się z ring 4, więc zapytałem się google o to. Ono również nic nie wie na ten temat. Po trzecie, to gdzie się znajduje wirtualizacja, zależy od 'maszyny wirtualnej' - vmware workstation, qemu, vbox, virtualpc, itp. - są niezaprzeczalnie na poziomie ring 3 (chyba że bierzemy pod uwagę gościa, wtedy może wchodzić ring 2 w grę - tam znajdują się sterowniki emulowanych urządzeń); wszelkiej maści hypervisory (Xen, KVM, MS Hyper-V) pracują w większości na poziomie ring -1, kiedyś dla niektórych, przy początkach parawirtualizacji był to poziom ring 0.

Cytat: "WizardNumberNext"
Także virtualizacja na 64b OS traci trochę bezpieczeństwa.
Wirtualizacja na systemie 32 jak i 64 bitowym jest tak samo bezpieczna. Ewentualne różnice w bezpieczeństwie mogą wynikać z różnej kompilacji i implementacji bibliotek systemowych. Sama wirtualizacja pod względem bezpieczeństwa jednak się nie różni. Jak ciekawostkę podam informację, że wirtualizacja już w założeniach jest niebezpieczna.

Cytat: "WizardNumberNext"
Jest nieco mniej elastyczny niż VMware (spod graficznego interfesju nie stworzysz Maszyny Virtualnej z fizycznym dyskiem i wymaga to trochę kombinacji, do tego fizyczny dysk jest nieosiągalny dla zwykłego użytkownika - tylko root)
Jak to nie? Wszystko da się ładnie wyklikać i to od wersji 2. Ze wcześniejszymi nie miałem do czynienia, więc nie będę za nie ręczył, ale też skłaniam się ku twierdzeniu że da się tam wszystko wyklikać.
Dysk fizyczny również jest osiągalny, musisz tylko wcześniej sobie zagwarantować odpowiednie uprawnienia do danego dysku.


Reszta w miarę się zgadza ;)

WizardNumberNext

  • Gość
Virtualizacje - KVM, Xen, Vmware, VirtualBox... nasze zdanie
« Odpowiedź #3 dnia: 2011-04-29, 12:14:29 »
Cytat: "mateo86"
Porównujesz procesory z różnych epok.
Projektowanie procesora nie trwa jeden dzień. K6 zostało wypuszczone w erze Intel Pentium 2. K6-2 i K6-3 to ta sama architektura z drobnymi poprawkami (k6-2 ma drobne poprawki w architekturze oraz dodane 3Dnow!, K6-3 to tylko L2 cache). K7 zaczęto projektować zaraz po skończeniu projektowania K6., a więc Pentium3 i K7 to ta sama epoka. Były projektowane w tym samym czasie. Dopiero AMD Athlon XP jest z epoki Pentium4, lecz nadal jest to ta sama architektura, która była odpowiedzią na Pentium3. To Intel odpowiedział na K7 wypuszczając Pentium4 - nie odwrotnie. Dlatego Pentium4 miało tyle problemów - Intel gonił AMD.
Intel's Pentium II replacement was not yet available but, as a stop-gap, Intel introduced a modestly revised version of the Pentium II and re-badged it as the "Pentium III". The base design was unchanged (the addition of SSE instructions was at that time of no performance significance) but Intel's new production process allowed clockspeed improvements, and it became difficult to determine which company's part was the faster. Most industry observers[who?] regarded the Intel part as superior for floating-point intensive tasks (such as most 3D games), but the K6-III as better for mainstream integer work.

Both firms were keen to establish a clear lead, and both experienced manufacturing problems with their higher-frequency parts. AMD chose not to sell a 500 MHz or faster K6-III after the rare 500 MHz K6-III had been immediately recalled; it was found to be drawing enough current to damage some motherboards. AMD preferred to concentrate on their soon-to-be-released Athlon instead. Intel produced a 550 MHz Pentium III with some success but their 600 MHz version had reliability issues and was soon recalled.
Zaczerpniete z http://en.wikipedia.org/wiki/K6-III
Szukalem cos dokladniejszego na temat architektury K8 i tak dla sprawdzenia swojej wiedzy sprawdzilem K6 i K7 i trafilem na taki wlasnie tekst.

Wynika z niego, ze AMD Athlon byl wypuszczony wczesniej niz Intel Pentium III (Intel Pentium II zostalo lekko poreperowane i wyszczone jak P3, ale to nadal bylo P2). Dopiero wersje s370 to bylo prawdziwe P3

Cytat: "mateo86"
Zapewniam cię, że wersja 32 bitowa jest nadal używana z nowymi jądrami i ma się dobrze. VMware to zbyt poważna firma, by odpuścić sobie malejący, ale wciąż pozostający w znacznej większości segment procesorów 32 bitowych.
To nie VMware, tylko społeczność korzystająca z niego pisze łatki. na jądro 2.6.38 nie znalazłem łatki - żadna nie działa.

Cytat: "mateo86"
To że ma 2x więcej rejestrów do dyspozycji znacząco nie wpływa na szybkość pracy. I nie należy mylić technologii amd64 oraz amd-v. Jedno nie implikuje drugiego. Dopiero po jakimś czasie amd-v zostało dodane do procesorów. Nie wiem czy jeszcze są, ale procesory z 'najniższej półki', pomimo, że mają technologię 64 bitową, to niekoniecznie mają wirtualizację.
Śmiem się nie zgodzić. Różnica jest porażająca. Mój poprzedni procesor to AMD Athlon XP-M 2400+ (1.8GHz), który u mnie działał na 11x200MHz (2.2GHz 3200+) - jest to cvzywiście Barton. Aktualny procesor to AMD Athlon 64 X2 6400+ z AMD-V i SSE3 - jest on szybszy do 168 razy. Możesz mi to wyjaśnić, bo ja nadal nie mogę tego pojąć. Jako argument popierający dodam, że kompilacja gcc 4.4.5 na AMD Athlon XP-M 2400+ @ 2.2GHz, 200MHz FSB trwała około tygodnia. Kompilacja na AMD Athlon 64 x2 6400+ twrała chyba dwie godziny i już 4.5.2. Wyjaśnienia? Jak na razie nie jestem w stanie tego wyjaśnić. Dodam, ża GCC 4.4.5 kompilowałem bez włączonego X.org na minimalistycznym systemie specjalnie do tewgo celu zainstalowanym. Gcc 4.5.2 poszło pod systemem obciążonym wszelakimi wodotryskami łącznie z efektami w KDE4. GCC 4.4.5 zostało skompilowane pod DualChannel, GCC 4.5.2 na SingleChannel (zasilacz mnie nie puszcza)

Co do Ring 4 - zapis bardziej ludzki. Chodzi oczywiście o Ringi 0-3.
Xen (jako hypervisor) znajduje się w ring 0, jądro Dom0 znajduje się w ring 1, jądro DomU znaduje się w ring 2. Ale są odstępstwa - sterowniki Dom0 do fizycznego sprzętu znajdują się w ring0 i to Xen je tam umieszcza. Na amd64 jest nieco bardziej skomplikowane i paravirtualizowany Os nie może się znaleźć w ring 0-2. Jakoś jeszcze nie doczytałem dlaczego, a może zapomniałem.

Ring w CPU odpowiada za bezpieczeństwo. Jądro OS działa w Ring0 i jest najbardziej uprzywilijewane i ma dostęp do sprzętu. Wygląda na to, że mnolityczne jądra używają co najwyżej 3 ring'ów, zazwyczaj dwóch (0 i 3). Jądra hybrydowe i mikrojądra używają do 4 ring'ów (wyjątek Multics, gdzie procesor został stworzony dla multics,  musltics dla procesora). W większości nowoczesnych OS wykorzystuje się co najmniej 2 Ring'i - jeden (0) dla jądra i streowników - z pełmyn dostepem do sprzętu, drugi (3) dla programów użytkowników, które chcąc zrobić coś na sprzęcie muszą pogadać z jądrem czy też sterownikiem.

Cytat: "mateo86"
Jak to nie? Wszystko da się ładnie wyklikać i to od wersji 2. Ze wcześniejszymi nie miałem do czynienia, więc nie będę za nie ręczył, ale też skłaniam się ku twierdzeniu że da się tam wszystko wyklikać.
Dysk fizyczny również jest osiągalny, musisz tylko wcześniej sobie zagwarantować odpowiednie uprawnienia do danego dysku.
Fizyczny dysk mogę użyć spod prostego interfejsu graficznego w VMware, co jest osiągalne tylko w CLI w VirtualBox.
Fizyczny dysk jest cięzszy do osiągnięcia pod VirtualBox niż pod VMware. Jako użytkownik należę do grupy disk i do każdego dysku mam pełny dostęp. VirtualBox wymaga dodatkowej grupy (nie wiem jeszcze jakiej - za mało grzebałem), więc fizyczny dysk jest dostępny tylko dla root bez modyfikacji OS hosta.
Nie zrezygnuje z grupy disk na rzecz grupy dla VB tylko po to, aby mieć dostęp pod VB do fizycznego dysku. ACL jak narazie nie jest u mnie nawet w fazie wprowadzania. Nie wiem nawet czy w udev będę w stanmie zrobić ACL.

Offline mateo86

  • Users
  • Guru
  • *****
  • Wiadomości: 647
    • Zobacz profil
Virtualizacje - KVM, Xen, Vmware, VirtualBox... nasze zdanie
« Odpowiedź #4 dnia: 2011-04-30, 21:46:09 »
Cytat: WizardNumberNext
Pentium3 i K7 to ta sama epoka
Racja, pomyliły mi się wersje. Mało logiczne wydają mi się ich te numery wersji... Ale chyba tylko dla mnie.

Cytat: WizardNumberNext
Cytat: mateo86
Zapewniam cię, że wersja 32 bitowa jest nadal używana z nowymi jądrami i ma się dobrze. VMware to zbyt poważna firma, by odpuścić sobie malejący, ale wciąż pozostający w znacznej większości segment procesorów 32 bitowych.
To nie VMware, tylko społeczność korzystająca z niego pisze łatki. na jądro 2.6.38 nie znalazłem łatki - żadna nie działa.
Pokusiłem się i zainstalowałem 32 bitowego Debiana 6.0.1a (Btw. Jak tam konfiguracja diametralnie różni się od Gentoo), z najnowszym jądrem - VMware workstation działa bez problemu. Nie musiałem instalować żadnych łatek, wersja trialowa prosto ze strony VMware.

Cytat: WizardNumberNext
Mój poprzedni procesor to AMD Athlon XP-M 2400+ (1.8GHz), który u mnie działał na 11x200MHz (2.2GHz 3200+) - jest to cvzywiście Barton. Aktualny procesor to AMD Athlon 64 X2 6400+ z AMD-V i SSE3 - jest on szybszy do 168 razy. Możesz mi to wyjaśnić, bo ja nadal nie mogę tego pojąć. Jako argument popierający dodam, że kompilacja gcc 4.4.5 na AMD Athlon XP-M 2400+ @ 2.2GHz, 200MHz FSB trwała około tygodnia. Kompilacja na AMD Athlon 64 x2 6400+ twrała chyba dwie godziny i już 4.5.2. Wyjaśnienia?
Już wyjaśniam. Po pierwsze, masz 2 rdzenie w nowym procesorze. Dla gcc to już znaczny przyrost mocy. Po drugie Dochodzi więcej pamięci cache. Po trzecie, dużo wyższa częstotliwość nowego procesora. (Btw, tak do końca po podkręceniu to nie był 3200+, bo miał o połowę mniej cache).
Athlon XP-M to procesor mobilny, więc można się spodziewać, że było dodatkowo jakoś okrojony. Poza tym RAM, do tego pewnie nie była ona demonem szybkości. Przy nowym procesorze masz jeszcze dodatkowo dużo szybszą pamięć RAM, na pewno jest jej znacznie więcej i na pewno pracuje w trybie wielokanałowym.

Reasumując:
Stary => Nowy
1 rdzeń => 2 rdzenie
256 KB cache L2 => 2x1024 KB cache L2
2,2 GHz => 3,2 GHz
Stary RAM => Nowy RAM

Nie mogę znaleźć takiej ciekawej infografiki, przedstawiającej bardzo dobrze rejestry procesora. Tak na prawdę te 64 bity to stara konstrukcja 32-bitowa + dodatkowe "górne 32 bity" rozszerzające obszar "danych" (tzn. instrukcji, adresów, zwykłych danych itp.) dla pojedynczego rejestru. "Górne 32 bity" aktywowane są dopiero gdy korzystasz z oprogramowania 64-bitowgo. Przy systemach 32-bitowych są one nieaktywne - masz zwykły dwurdzeniowy procesor 32-bitowy. Wynika z tego to, że 32 bity i 64 wyglądają niemal tak samo (poza oczywiście 'górnymi rejestrami' reszta jest taka sama). Zwiększenie ilości rejestrów podniosło nieznacznie wydajność (maksymalnie do 10%), stąd też aż taki wzrost szybkości kompilowania nie może być temu przypisywany.

Dla dowodu, że dodatkowe rejestry nie przynoszą znacznej poprawy wydajności polecam przeprowadzić test - skompiluj ten sam pakiet (może nie koniecznie gcc, bo to za długo będzie trwać, ale jakieś jądro, z tymi samymi ustawieniami) na systemie 32 bitowym i 64 bitowym pracującym na tym procesorze. Gwarantuję, że różnica nie będzie znaczna. Zmieści się w tych 10%.

ra-v

  • Gość
Virtualizacje - KVM, Xen, Vmware, VirtualBox... nasze zdanie
« Odpowiedź #5 dnia: 2011-05-01, 00:03:43 »
Cytuj
Być może nawet zdziwi Cię fakt, że jeśli weźmiesz CPU AMD i Intela z tego samego segmentu, to Intel jednak delikatnie, ale w sposób odczuwalny będzie wydajniejszy.
W nowszych może tak jest. W starszych XP/P4 już nie jest tak jasne wszystko. P4 HT 2.6-2.8GHz ~ XP 2.2GHz przy uruchamianiu 1 większego programu, przy kilku P4 jest lepszy.
Tutaj jeszcze gra rolę cena i zastosowanie.
Swoja drogą czemu najszybsze komputery są oparte o 3 marki - Opetron (Jaguar) oraz Xeon&Nvidia (Tianhe)? Słupki słupkami, w praktyce wszystko wychodzi lepiej.

Cytuj
Śmiem się nie zgodzić. Różnica jest porażająca. Mój poprzedni procesor to AMD Athlon XP-M 2400+ (1.8GHz), który u mnie działał na 11x200MHz (2.2GHz 3200+) - jest to cvzywiście Barton. Aktualny procesor to AMD Athlon 64 X2 6400+ z AMD-V i SSE3 - jest on szybszy do 168 razy.
Nie wiem skąd to stwierdzenie. Na wirtualizacji faktycznie między 1- a 2-rdzeniowym jets róznica, a nawet pomiędyz 1-rdzeniowym a 1-rdzeniowym HT, ale w praktyce spotkałem się z komputerami wielordzeniowymi pracującymi wolniej niż P4 HT (Windows) i Athlon XP (Linux) - i tu jest kwestia sterowników i sprzętu.


Z wirtualziacji używałem:

- VirtualBox - szybki, prosty, wydajny - używam najczęściej, nawet Win7 na 1-rdzeniowcu i z 0.75GB przydzielonej pamięci działa w miarę sprawnie.

- VMware Server (chyba wersja 1.x albo 2.0, jakaś darmowa) - ciekawe opcje, co nie ruszyło gdzie indziej to ruszyło tutaj, jest wolniejszy od VB

- DosBOX/DOSemu - to pewnie powstawło z myślą o grach  DOSowych, ale równei dobrzee nadaje się do odpalanie niektórych antyków, które na Win nie działają, DOSemu jest znacznie szybszy, DosBOX platformowy.

- VirtualPC (Windows) - niech komuś nie przyjdzie do głowy pomysł żeby odpalać cokolwiek innego niż Windows, i tak jest najwolniejszy z ww. programów

WizardNumberNext

  • Gość
Virtualizacje - KVM, Xen, Vmware, VirtualBox... nasze zdanie
« Odpowiedź #6 dnia: 2011-05-01, 00:35:48 »
Cytat: mateo86
Pokusiłem się i zainstalowałem 32 bitowego Debiana 6.0.1a (Btw. Jak tam konfiguracja diametralnie różni się od Gentoo), z najnowszym jądrem - VMware workstation działa bez problemu. Nie musiałem instalować żadnych łatek, wersja trialowa prosto ze strony VMware.
Ja próbowałem na wielu wersjach 2.6.37 i wielu 2.6.38 - zrezygnowałem po tak 25 próbie.

Cytat: WizardNumberNext
Mój poprzedni procesor to AMD Athlon XP-M 2400+ (1.8GHz), który u mnie działał na 11x200MHz (2.2GHz 3200+) - jest to cvzywiście Barton.
Barton - znaczy, że to jest procesor z 512Ki8B L2 cache.
Dla potwierdzenia wiedzy, dodam:
K6 ma 84KiB L1 cache: 20KiB Predecoded Instruction, 32KiB Instruction, 32KiB Data; wielki Brach Predition - 8192 wpisy
K7 ma 152KiB L1 cache: 24KiB Predecoded Instruction, 64KiB Instruction, 64KiB Data; dużo mniejszy Branch Prediction - 2048 wpisów

Cytat: mateo86
Już wyjaśniam. Po pierwsze, masz 2 rdzenie w nowym procesorze. Dla gcc to już znaczny przyrost mocy. Po drugie Dochodzi więcej pamięci cache. Po trzecie, dużo wyższa częstotliwość nowego procesora. (Btw, tak do końca po podkręceniu to nie był 3200+, bo miał o połowę mniej cache).
Tak posiadam dwa rdzenie, ale GCC było kompilowane na jednym (jeden wątek)

Cytat: mateo86
Athlon XP-M to procesor mobilny, więc można się spodziewać, że było dodatkowo jakoś okrojony. Poza tym RAM, do tego pewnie nie była ona demonem szybkości. Przy nowym procesorze masz jeszcze dodatkowo dużo szybszą pamięć RAM, na pewno jest jej znacznie więcej i na pewno pracuje w trybie wielokanałowym.
AMD Athlon XP-M to taki sam procesor co AMd Athlon XP. Technicznie nie różni się niczym. Wszystkie procesory o architakturze K7 były produkowane na jednej i tej samej linii. Athlon był (niby) pełną wersją. Duron miał logicznie wyłączaną cześć L2 cache. Co do Semprona to nie wiem - nie interesował mnie nigdy. Wszystkie procesory od modelu 5 wzwyż miały Local-APIC, możliwość zmiany mnożnika w zakresie 3-24x oraz 256KiB L2 cache (wyjątek model 10 - barton i thorton). Na Athlon XP, Athlon MP i Duron (Sempron też) był blokowany mnożnik (razem z rozszerzonym zakresem). Na Athlon XP-M i Duron był wyłączany LocaL-APIC, Na Duron była wyłączana część L2 cache - to samo się tyczy Athlon XP i Sempron model 10 Thorton - to był Barton z wyłączoną połową L2. Wylączanie było proste - przecięcie laserem odpowiednich mostków. Athlon XP-M i Athlon MP to były wybrańce - wybierano je bardzo precyzyjnie. Jeżeli procesor wbył w stanie działać na bardzo niskim woltarzu to szedł ma Mobile, jeżeli był stabilny z Local-APIC i nie miał problemów z przegrzewaniem się to szedł na MP. To cała historia. Ja mam wypadek: AMD Athlon XP-M MP - ma włączone wszystko.

Cytat: mateo86
Reasumując:
Stary => Nowy
1 rdzeń => 2 rdzenie
256 KB cache L2 => 2x1024 KB cache L2
2,2 GHz => 3,2 GHz
Stary RAM => Nowy RAM
Poprawiając:
1 rdzeń -> 1 rdzeń (kompilacja na jednym wątku)
512 KiB L2 -> 1024KiB L2
2,2GHz -> 3,2GHz
Stary RAM -> Nowy RAM - tutaj szczególna uwaga!
"Stary RAM" jest zapewne fizycznie nowszy niż "Nowy RAM".
"Stary RAM": OCZ Platinum XTC 2GK DDR1 3200 (200MHz) 2-3-2-5-11-13-2-3-2 - chętnie bym spisał oznaczenia, ale ten RAM jest teraz w server'ze; działał w trybie DUAL-CHANNEL
"Nowy RAM": Crucial nie wiem jaki - nie interesuje mnie ten RAM - to rupieć - mniej więcej wygląda tak:
DDR2 4266 (133MHz) 4-????? - jak widać jest wolniejszy, do tego mna dużo większe opóźnienia i jeszcvze działa w trybie SINGLE-CHANNEL - co już zresztą pisałem
Pamięci są tych samych rozmiarów - 2x1GiB

Cytat: mateo86
Nie mogę znaleźć takiej ciekawej infografiki, przedstawiającej bardzo dobrze rejestry procesora. Tak na prawdę te 64 bity to stara konstrukcja 32-bitowa + dodatkowe "górne 32 bity" rozszerzające obszar "danych" (tzn. instrukcji, adresów, zwykłych danych itp.) dla pojedynczego rejestru. "Górne 32 bity" aktywowane są dopiero gdy korzystasz z oprogramowania 64-bitowgo. Przy systemach 32-bitowych są one nieaktywne - masz zwykły dwurdzeniowy procesor 32-bitowy. Wynika z tego to, że 32 bity i 64 wyglądają niemal tak samo (poza oczywiście 'górnymi rejestrami' reszta jest taka sama). Zwiększenie ilości rejestrów podniosło nieznacznie wydajność (maksymalnie do 10%), stąd też aż taki wzrost szybkości kompilowania nie może być temu przypisywany.
Coś nie doczytałeś. To żadna nowość, że te 64 bity to tylko trick - ja to wiem zanim AMD Athlon 64 ujżał światło dzienne! Opteron mnie zawsze interesował, a to właśnie Opteron jest pierwszym CPU jaki miał te rozszerzenia.
Tyle, że architektura K8 wprowadziła dodatkowe rejestry r8 - r15 oraz xmm8 - xmm15
tutaj wpis z en.wikipedia
Additional registers: In addition to increasing the size of the general-purpose 
registers, the number of named general-purpose registers is increased from
eight (i.e. eax, ebx, ecx, edx, ebp, esp, esi, edi) in x86 to 16 (i.e. rax, rbx,
rcx, rdx, rbp, rsp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15)
Additional XMM (SSE) registers: Similarly, the number of 128-bit XMM 
registers (used for Streaming SIMD instructions) is also increased from 8 to 16.
Całkiem możliwe, że ten nieoczekiwany przyrost wydajności bierze się właśnie z SSE (należy pamiętać, że SSE to nie tylko Floating Point ale także Integer (NIE mylić z Fixed Point))

Dodam jeszcze że przyrost wydajności spowodowany Dual-Channel jest raczej teorytyczny - dopiero unganged Dual-Channel coś daje.
Zresztą mogę to przetestować na AMD Athlon 64 3200 - tam działa Dual-Channel, ponieważ procek pobiera mniej prądu i zasilacz daje radę.

Cytat: ra-v
Nie wiem skąd to stwierdzenie. Na wirtualizacji faktycznie między 1- a 2-rdzeniowym jets róznica, a nawet pomiędyz 1-rdzeniowym a 1-rdzeniowym HT, ale w praktyce spotkałem się z komputerami wielordzeniowymi pracującymi wolniej niż P4 HT (Windows) i Athlon XP (Linux) - i tu jest kwestia sterowników i sprzętu.
Jak sam zaznaczyłeś, to zapewne wina sterowników, a więc systemu lub ludzi odpowiedzialnych sterowniki w odpowiednich miejscach.
Ja oprócz pamięci i procesora nic innego nie mam innego (wiadomo jeszcze mobo) - kontroler RAID ATA133 mam nadal ten sam, więc na dyskach nie tracę, ba nawet zyskuje, bo Abit AN7 nie był za szybki, jeżeli o to chodzi. Za Abit KG7-RAID był znacznie szybszy z tym RAID i soim własnym (mój RAID to ITE IT8212F, RAID na KG7-RAID to HighPoint HPT372 czy coś w tym rodzaju - na pewno ATA100).
Na KG7-RAID miał DeviceMapper (software RAID) na czterech dyskach w trybie stripe (8KiB chunk w RAID). Wydajność dochodziła do 133MiB/s - więcej się niestety nie dało, ponieważ to było tylko PCI 32/33