Microsoft chce podlomit pozici Linuxu na superpočítačích

Diskuze čtenářů k článku

avatar
15. 06. 2009 21:12

Jako uživatel Windows Vista Home premium na svém notebooku (Core2Duo 2,4 Ghz 4GB ram GeForce 8600GT) již delší dobu pociťuji zbytečné zatížení veškerého hardwaru samotným OS. Ram mi i přez různé šetřící aplikace chodí na nějakejch 40% (např. 50% s iTunes). Je zajímavé,že minimální požadavek je 1GB ram.No ale to je zase jiná věc. Prostě jsem chtěl říct, že nevěřím tomu, že Microsoft něco takového udělá (tak aby prostředí nebylo ošizeno a zároveň aby bylo hardwarově nenáročné). Tohle bude nějakou dobu trvat, než s tím někdo přijde a myslím, že to nebude Windows (samotný). Mě osobně poslední dobou hodně upoutává Google a jeho nové vychytávky přes Internet a v neposlední řadě i jeho Android. Možná to bude do budoucna řešení. Kdo ví.......

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 21:52

Hezký, ale mícháte to všechno dohromady jako číňani kung-pao. Vista je desktopový OS pro "běžné" uživatele a tam se hledí na to, jak vypadá, protože to BFU zajímá, ale servery a superpočítače mají jinou cílovou skupinu, kde AERO rozhodně nikdo chtít nebude. (a iTunes Vám jede blbě protože je to iTunes = nepovedený paskvil)

Google a jeho vychytávky jsou možná "hustý", ale s tématem článku nemají žádnou souvislost a Android je mobilní OS, který nemá (pokud se nepletu) ambice ani stát se desktopem natož serverem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 20:45

Tak to jsu v klidu, zřejmě jde a akci CIA. Napřed oblbnou svět blábolem o spolehlivosti a výkonnosti tohoto produktu MS. Náasledně ho podstrčí Íranu, který v domněni jak dobře tento "kvalitní soft" ukradl amíkum nasadí super počítače s tímto OS do jaderného výzkumu, výzkumák a výroba štěpných materiálu díky spolehlivosti toho OS bouchne a amíci bodou mít jeden problém z krku.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 18:31

když hned všichni ví, že to nepůjde. Vy si snad myslíte, že v MS neznají problematiku superpočítačů a neví co je a co není windows schopen? Od toho snad tu skupinu založil, aby byla schopna analyzovat a přijít s řešením.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 18:21

1) CPU, mnohe clustery bezi na PowerPC ci dokonce na CPU s PS3 ... CELL

2) Je nutno upravit OS, OS musi umet nabihat z NFS, vetsina velkych clusteru ma jenom RAM, CPU a LAN s PXE boot a OS je na NFS

3) Linux umoznuje kompilaci zdrojaku primo na dany CPU, hlvane programu, ktere neco pocitaji.

4) OS bezi neustale a tak je treba OS, ktery nepouziva SWAP (to by nevadilo, ale nema diky) + musi umet defragmentovat RAM jinak nez restartem OS.

5) kazdy vi, ze linux je navypocty 10x i vice rychlejsi, priznava to i HP, ktera na svych CAD/CAM stanicih doporucuje linux a namerili 10x rychlejsi pypocet metodou konecnych prvku, kterou se overuje pevnost sestavy.

6) Cena za OS

8) Linux ma rychlou LAN, kdyz si koupim 10Gb mirinet a OS mi nevytahne vic nez 25MB/sec (win 2008) tak soory.

9) Admini i programatori maji odpor k windows, nebot v jejeich api je uz takovy bordel, ze se v tom nikdo nevyzna.

10) vypocty na M$ knihovnach se neuznavaji, nebot neprosly testy, Cern pokud vim svoje knihovny pro windows nedela, ale jsou zdrojaky, jenze pouze pro POSIX OS. Kazda vypocteni aplikace si tedy taha svoje knihovny a vznika tak nepresnost a nekonzistence vypoctu, kdo nevi o cem mluvim, tak je to test, ktery dostane kazdy vedec, co provadi simulaci, jak se chova system a hlavne knihovny pri vypoctech s velkymy cisly a a cisly s mnoha desetinymi cisly.

11) vetsinu enterprise tech M$ ani nepodporuje, 99% z nich bezi jako server pouze na Unix OS a tak 50% ma sice klienta, ale zdaleka neni tak odladen, jako na linux, viz lustre, clusterFS a jine extremne ruchle sitove FS rozkladane pres mnoho serveru a FC diks. poli, prave pres 10Gb hyperkostky.

12) Aplikace, ktera bude mit mnoho threadu, bude neustale alokovat RAM na maximum a neda spocinout CPU do par hodin spadne na nedostatek prostredku, bud si zfragmentuje RAM, nebo proste neuvolni CPU pro servisni cinost OS a ten se odporouci, nebo sestreli apliakaci.

13) implementace fortranu je na windows velice mizerna, hlavne F90 99 a ani knihovna MPICH ci OpenMP a jine nejsou na windows moc dobre odladeny.

14) V .Net coz je jedine trochu konzistentni API pro win32 nikdo prepisovat posix aplikace nebude, nehlede nato, ze nez by je prepsal, uz by byl jiny .NET a zase by to nefungovalo ...

.... mam pokracovat ? ... jako unixak se divim, ze windows vubec nekdo nasadi.

Nehlede nato, ze windows na stejny ukol spotrebuje vice prostredku, nebot w2003 jenom na svuj beh sezere 1GB RAM a min 1jadro CPU ... naproti tomu linux sezere tak 8MB a kernel moc CPU nezere, jenom IO na disich a kartach, ale to vsude, prepinat procesy umi taky linux lepe, diky RoudRobin a lety vyvijenemu scheduleru, ktery se neustale vylazuje pro lepsi vysledky, mimochodem v linuxu je jiz nekolik scheduleru a lze se mezi nema prepinat podle aplikaci, tuhle moznost windows nemaji.

Jo a tyhle super centra maji hordu programatoru, kteri jsou si schopni upravit i OS, pokud maji zdrojaky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:28

1) x86-64 je nejlevnější v poměru cena/výkon. Windows navíc běží i na PowerPC, MIPS, Alphě a prakticky čemkoliv jiném, pro co je MS přeloží. Navíc článk mluví o úplně novém systému.

2) PXE boot není problém. NFS je nesmysl, ale také není problém.

3) Myslíte že kompilátory existují jen pro Linux? :) Na Windows můžete psát aplikaci ve Visual Studiu, a ladit jí zatím co běží na clusteru.

4) Opravdu neumíte ve Windows nastavit, že nepoužívají swap?

5) Opravdu? Reference MS clusteringu jsou naprosto opačné. Za 10x kratší dobu dosáhnou lepšího výkonu, než na Linuxu po měsících ladění.

6) Souhlas, proto MS uvedl zvláštní edici pro clustery.

8) Windows mají rychlou LAN. Clusterované aplikace používají Winsock Direct.

9) Windows clustery dnes používají MPIv2. To standarní API pro clustery, stejné jako na Linuxech. Admini i programátoři administrují a píší nejvíc pro Windows, takže máte asi zkreslený pohled.

10) Windows se SFU jsou POSIX compliant. Linux ne.

11) Jsou alternativy pro Windows.

12) A? Řeší to někdo jiný jinak?

14) Aplikace používající MPIv2 se dají portovat bez problémů. V podstatě cut & paste do Visual Studia.

Windows 2003 nesežete 1GB RAM a 1 jádro CPU, neplácejte nesmysly. A Round Robin považujete za dobrý scheduler? :) Není potřeba mít několik špatných schedulerů, ale jeden dobrý.

Víte na kolik vyjde upravovat zdrojáky OS? Dneska se to u instalace Linuxových clusterů občas dělá. Jen za cenu té práce byste podruhé koupil HW :/

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 20:50

> 5) Opravdu? Reference MS clusteringu jsou naprosto opačné. Za 10x kratší dobu dosáhnou lepšího výkonu, než na Linuxu po měsících ladění.

To uz opakujete druhy krat a ja Vas opat ziadam o odkaz/clanok, kde je to uvedene. Naozaj ma to zaujima.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Ford  |  15. 06. 2009 22:35

Kluci, widlim uz je davno odzvoneno. Na serverech urcite. To jen v jihovychodni asii jeste vsichni jedou na widlich, pac zaspali dobu. Nebo je to mozna tim, ze tam vsichni pouzivaji widle, pac si je ukradnou a nikdo to tam nehlida

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 23:33

French National Institute for Agricultural Research: “In concrete terms, we should be able to save one year of development time because of our use of Windows HPC Server 2008 and Visual Studio 2008.”

https://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000003935

Dawning Information Industry Company, HPC cluster na 10. místě TOP500

"staff needed only 10 hours to set up and debug nearly 2,000 nodes once the hardware was in place and tested"

Excellent performance, lower network latency than Linux operating systems

http://www.microsoft.com/casestudies/Case_Study_De... ...

Referencí jsou desítky, zákazníků hromady. Z nějakého důvodu se ale víc píše o tom, že si nějaká vesnice koupila pár desktopů na Linuxu.

BTW nový Cray CX1 jede na Windows HPC Serveru 2008?

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 23:41

Nehnevajte sa na mna, viem, ze je to uz pomaly klise, ale pokial ide o nestranne hodnotenie produktov Microsoftu, chovam ku strankam zacinajucim na "microsoft.com" silnu nedoveru.

Nieco menej podozrive by sa nenaslo?

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 23:55

Jde o případové studie, nic podezřelého na nich nevidím. Můžete si za pomoci Googlu dohledat další informace k daným případům. Na stránkách MS máte přes 70 případových studií k HPC.

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 06. 2009 00:55

Pročetl jsem celou to velice dlouhou diskuzi a velice jsem se bavil u vašich příspěvků,znalosti máte evidentně nulové,ale krásně jste nám předvedl jak dokonale umíte hledat v googlu.Jsem jeden z lidí co dával u microsoftu do kupy platformu NT a jasně vám říkám,vedení MS nikdy nedovolí úplné překopání systému od samotného jádra tak aby se odprostil od všech omylů minulých verzí,bylo by to moc drahé,zdlouhavé a já nevím co ještě.Windows sami o sobě udělali obrovský skok od verze 3 po W7,ale opravit v nich všechny chyby je zhola nemožné,protože by to vyžadovalo od začátku přepsat celý systém a MS jak známo jde formou evoluce kdy pokud je to jen trochu možné přenese další práci na někoho jiného (viz. IE8 a jeho "akcelerátory") nebo věčné dilema,windows versus drivery.Takže jen tak dál,hledat umíte fakt dokonale,ještě pár let a možná vás zaměstná seznam aby jste na netu hledal pedofily

Souhlasím  |  Nesouhlasím  |  Odpovědět
Ford  |  16. 06. 2009 10:21

ano, LKLK je známý mimoň

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 06. 2009 00:33

Microsoft Case Studies?

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 16:43

i Microsoft muze pri dodrzeni licencnich podminek sestavit na linuxu postavenou distribuci, se kterou se bude moci uchazet o misto v tomto segmentu

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 17:11

A mozno by po tom konecne vznikol dokonaly OS.

(a myslim to celkom vazne)

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 17:49

sorry, ale nez llinux od MS, to si ho snad redeji skompiluju cely from scratch ;)

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  16. 06. 2009 00:06

MS má vlastní a lepší OS, tak proč by používal Linux? Nakonec z podobého důvodu odstřelil Xenix. Kdysi to byl nejrozšířenější x86 UNIX, a patřil Microsoftu. Pak se MS rozhodl, že ho prodá, a půjde dělat Windows NT. Zjevně se to povedlo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 14:46

Nejsem sice expert na superpocitace, ale myslim ze to bude mit MS dost tezke, protoze linux je v teto oblasti industry standard. Jeho sitovy vykon, sprava pameti a planovace CPU jsou jednoznacne lepsi nez cokoli od MS, pokud bude chtit MS skutecne konkurovat, bude muset prijit s necim novym. Verim ze bude shopen prijit s pouzielnymi klikacimi nastroji pro spravu, ale jadro jako takove je v soucasnosti nedostatecne. Mozna bude take konkurovat cenou, protoze verim ze linuxove reseni na miru neni zrovna levne reseni.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 15:35

souhlas a dodam - podle meho MS nikdy nebude schopny nesadit tak variabilni reseni, jake uz ze sve podstaty poskytuje linux. To by museli:

1) zacit zgruntu znova (a nejlépe se predem inspirovat u soucasnych spickovych linuxovych dister)

2) nekupovat casti kodu jinde, ale vsechno poctive napsat, nebo alespon vytvorit takovou formu dokumentace, ktera jim umozni pozadovanou flexibilitu kodu a nikdo se v ni neztrati

3) presvedcit necim navic, co linux jeste nema (protoze prekonat proverene reseni byt i kvalitnejsim, ale nezavedenym produktem je temer nemozne - staci mrknout na linux vs windows na desktopech)

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 15:58

A nebylo by lepší, kdyby si udělali vlastní distribuci Linuxu a ke clusteru X počítačů dodávali jeden s Windows s nějakým konfiguračním klikadlem?

Podle toho klikadla by to mohli nazvat "Windows Cluster" a všichni by byli spokojení.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 22:00

to by asi šli spíš do BSD kvůli licenci

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 17:29

Naopak. Jádro Linuxu je daleko horší, než u Solarisu nebo Windows. A správa paměti se lhaním o volné paměti, lhaním o potřebě alokace, a navrch OOM Killerem, to si snad děláte srandu.

Problémem současných clusterů je deployment (resp. dosažení dobrého výkonu clusteru v rozumném čase) a správa. MS to ví, a na to sází. Zatím celkem úspěšně, do budoucna uvidíme.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 17:43

linuxove jadro je dlouhodobe vyhlasovane a hodnocene jako nejlepsi jadro co je k dispozici. Proc si myslim, ze ho na super pocotacich pouzivaji? sprava pameti je spickova a prave OOM killer je vyborna featura. Co udelaji widle, kdyz jim dojde pamet? me obvykle spadnou ;) a to casto dost groteskne, stylem ala win 95. to se ti na linuxu nestane. ale chapu, ze pokud ses jednou koknul na top a nerozumel mu, ze tu ted takhle kopes ;)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 17:52

Me tedy windows nespadnou, jelikoz jde pamet v tom pripade do swapu. Jestlize je swap vypnuty nebo omezeny je to volbou uzivatele a asi vedel co dela. Na linuxu kdyz dochazi pamet tak se uvolni pamet nejakych aplikaci coz ma za nasledek ze OS sice nekulha, zato vsak bezici narocne aplikace se drasticky odstrihnou. Zalezi na kazdem co povazuje za spravne reseni... osobne mi prijde logicke nepovolovat dalsi alokaci pameti kdyz je ji malo a ne ji ukrajovat jinde.. ale jak presne tohle na kterem OS funguje nevim, tak se nechci hadat

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 18:09

> Zalezi na kazdem co povazuje za spravne reseni... osobne mi prijde logicke nepovolovat dalsi alokaci pameti kdyz je ji malo a ne ji ukrajovat jinde..

Tak si predstav, ako ti po troch tyzdnoch spadne vypocet, bo system nechcel "ukrajovat inde"

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:11

Když není proces schopný alokovat další paměť, může situaci různě řešit. Dlouhodobé výpočty si ukládají mezivýsledky.

Pěkně to řekl Andries Brouwer.

http://lwn.net/Articles/104185/...

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 19:51

Len tak mimochodom, oom killer sa celkom jednoducho vypnut

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:58

Pak ale brzo dojde paměť. Některé konstrukce typu fork/exec potřebují hromady paměti, které ale nakonec nepoužijí. To je důvod, proč Linux o paměti lže. Oni by s tím autoři kernelu nepřišli, kdyby to nemělo důvod. Vybrali nejhorší možné řešení, které se jim ale snadno psalo.

Windows byly napsané s ohledem na nízkou spotřebu paměti a používání threadingu, takže lhát o paměti nemusí.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 20:44

Fork je, ak ma pamat neklame, jedna zo zakladnych funkcii/volani Unixu, takze si autori moc nenavyberali. Windows ho vobec nepozna (co je samozrejme dobre )

Pamat nedojde, teda nie ako dosledok vypnuteho oom killera. Pamat sa moze minut len ak si jej zalokujes viac, nez si jej fyzicky do stroja narval a to je hadam nieco, co sa pri programovani clusterov nestava. A ako tu uz niekto poznamenal, ak do masiny narves 40GB a naalokujes 41, program bud spadne, alebo ho zabiju.

A len tak mimochodom, aj alokovanie neexistujucej pamate sa da jednoducho vypnut

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 22:13

Ano, fork() je jedno z celkem starých volání. Windows stojí na úplně jiném modelu (odvozeném spíš o VMS), takže fork() mají jen v Servies for UNIX pro zajištění kompatibility s unixy.

Proč by měla aplikace padat, když chce moc paměti? Padá vám snad Oracle, SQL Server, Exchange, MS Outlook a další, když nemají paměť? Nepadají, protože se s tím umí poprat. Když není paměť, volání malloc() prostě vrátí null, a aplikace si už nějak poradí. Zmenší buffer, uvolní interní cache, odmítne provést operaci, korektně se ukončí apod.

Lhaní o paměti se dá vypnout, ale přináší jiné nevýhody. Píšu o tom o kus níže.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 22:28

>> Proč by měla aplikace padat, když chce moc paměti?

Aplikacia si ma v prvom rade zistit kolko pamati ma povolene cez syscall getrlimit:

http://www.opengroup.org/onlinepubs/009695399/func... ...

RLIMIT_DATA:

This is the maximum size of a process' data segment, in bytes. If this limit is exceeded, the malloc() function shall fail with errno set to [ENOMEM].

Cize je to zalezitost libc, ta by si to mala overit a ak dosla pamat tak vratit ENOMEM.

A uz prestante s argumentami na tuto temu...

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 22:50

To si aplikace může zjistit, ale nikdo jí nezaručí, že tu paměť dostane. Pouze zjistí, jak má nastavený rlimit. Navíc getrlimit nemusí být implementovaný, protože je to XSI Extension.

Není to věc libc. Glibc by vám opravdu neměla dát paměť, pokud překročíte rlimit. Ale diskutovaný problém je úplně jiný: nedostatek paměti. Nepřekročíte rlimit, ale není dost paměti.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 23:11

nechapem potom coho chcete dosiahnut.

je jasne ze aplikacia bude zabita ak pozaduje viac pamati ako ma system RAM+swap.

nastavenie oom killera mozte najst napriklad tu: http://www.abclinuxu.cz/clanky/jaderne-noviny/jad... ...

neviem ako inak by mal system reagovat

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 23:53

Proč by měl systém zabíjet aplikaci, které chce víc paměti, než jí může dát? Když není paměť, alokace funkcí malloc() má vrátit null. Žádné zabíjení aplikace. Kde jste na takový nesmysl přišel?

Jak by měl systém reagovat? Při požadavku na alokaci (malloc) buď přidělit paměť a vrátit na ní pointer, nebo pokud není paměť tak vrátit null. Taková je i definice mallocu. Co ale dělá Linux? Vrátí prakticky vždy nějaký pointer, bez ohledu na to, jestli má nějakou paměť. Teprve když k té paměti aplikace zkusí přistoupit, tak jí kernel zkusí někde sehnat. To je hrubě špatně, protože kernel lhal, když paměť sliboval.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 23:56

Pozeram, ze ste sa rozhodol fakt, ze je toto spravanie volitelne celkom ignorovat

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  16. 06. 2009 00:02

To jsme se někde zacyklili, ne? Vyhledejte si v diskuzi "optimistic memory allocation", ať to nepíšu zbytečně znovu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 06. 2009 00:07

Zatial ste k tomu nic rozumne nenapisal Respektive nic, co by z toho robilo neprekonatelnu prekazku aj napriek tomu, ze sa to da vypnut.

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  16. 06. 2009 00:20

Čas na copy-paste?

Zapsání 2 do /proc/sys/vm/overcommit_memory problém neřeší ze dvou důvodů. 1) paměť potom brzo dojde, protože konstrukce jako fork/exec a worker procesy vyžadují spousty paměti (násobky skutečně použité paměti), které pak nevyužijí. 2) Ani nastavení overcommit_memory na 2 NEVYPNE lhaní o paměti. Navíc byste musel nastavit overcommit_ratio na 100.

Linux s klidem při spouštění nových procesů odstřelí náhodně nějaké staré, protože jste se s těmi novými nevešel do paměti. Není problém?

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 23:18

Tak, posledny z menovanych pada, aj ked ma pamate dost

K nevyhodam uvedenym nizsie sa vyjadrim nizsie.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 19:10

a linux jako swap nema nebo co? pokud OS dochazi VM (RAM plus SWAP), tak ma vpodstate dve moznosti:

1) spadnout, takto to resi napr. wokna, anebo 2) nejakou nenazranou aplikaci sestrelit a zachranit tak bezici OS.

Ta sestrelna aplikace by spadla tak jako tak, takze se s tim stejne neda nic delat. OOM killer jde pochopitelne, jako vsechno v linuxu, vypnout ci zmenit nastaveni.

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:41

Nesmysl. Když OS dochází VM a aplikace požádá o další RAM, tak jí prostě řeknete, že paměť došla. Tak to dělají Windows, Solaris, BSD a další. Funkce malloc() umí vracet rezervovanou hodnotu null, která říká, že alokace selhala. Aplikace si s tím může poradit. Oracle, MS SQL Server, Exchange a další si s tím poradí.

Problémem Linuxu je to, že aplikacím dává paměť bez ohledu na její dostupnost. Malloc vrátí pointer, a kernel paměť začne schánět až když k ní aplikace přistoupí. Když žádná paměť zrovna není, tak neumí říci aplikaci "sorry, ta alokace byla vymyšlená, a teď žádná volná paměť není". Takže musí něco odstřelit. Kdyby Linux nelhal o paměti, nemusel by mít OOM Killer.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 20:53

> Problémem Linuxu je to, že aplikacím dává paměť bez ohledu na její dostupnost. Malloc vrátí pointer, a kernel paměť začne schánět až když k ní aplikace přistoupí.

Ok, asi to treba polopatisticky...

By default, Linux follows an optimistic memory allocation strategy. This means that when malloc() returns non-NULL there is no guarantee that the memory really is available. This is a really bad bug. In case it turns out that the system is out of memory, one or more processes will be killed by the infamous OOM killer. In case Linux is employed under circumstances where it would be less desirable to suddenly lose some randomly picked processes, and moreover the kernel version is sufficiently recent, one can switch off this overcommitting behavior using a command like

# echo 2 > /proc/sys/vm/overcommit_memory

See also the kernel Documentation directory, files vm/overcommit-accounting and sysctl/vm.txt.

Mimochodom, je to priamo z manualu mallocu()

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 22:21

Ano, "optimistic memory allocation" je jiný název po lhaní o paměti. Malloc() vrátí paměť, a až jí aplikace chce použít, tak paměť možná nebude. Geniální memory management, že? Porušení specifikace jazyka C, španý návrh, a velká spousta návazných problémů. Andries Brouwer to popsal přesně (linkoval jsem to).

Zapsání 2 do /proc/sys/vm/overcommit_memory problém neřeší ze dvou důvodů. 1) paměť potom brzo dojde, protože konstrukce jako fork/exec a worker procesy vyžadují spousty paměti (násobky skutečně použité paměti), které pak nevyužijí. 2) Ani nastavení overcommit_memory na 2 NEVYPNE lhaní o paměti. Navíc byste musel nastavit overcommit_ratio na 100.

Špatná návrh, odfláknutá implementace, bordel a hnus. Co chcete? Vždyť je to Linux.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 23:31

> Špatná návrh, odfláknutá implementace, bordel a hnus. Co chcete? Vždyť je to Linux.

Spravate sa jak male decko

Ak budem programovat cluster, jednoducho tu funkciu vypnem. Ak budem potrebovat viac pamate, dam si tam viac pamate. Ak sa budem bat, ze mi pri fork-u pamat pretecie, nebudem pouzivat fork (to by jedneho nenapadlo, vsak?) Ak mi aj napriek tomu pamat dojde, pravdepodobne som to mnozstvo neodhadol. Osetrim to rovnako ako vo Windows a pri spravnom nastaveni sa to bude spravat rovnako, ako vo Windows.

Skratka, hladate chyby tam, kde ziadne niesu. Linux sa na taketo veci bezne pouziva prave pre to, ze sa v nom daju vsetky podobne "zlepsovaky" dopredu osetrit. Vo Windowse nie. Ale nakolko velka to bude prekazka sa este len uvidi.

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 23:59

Popsaný způsob správy paměti se lhaním o paměti a následným divokým odstřelováním procesů nevidíte jako problém? Já celkem ano. Takový memory management je katastrofa.

Samozřejmě když vypnete overcommiting a nastavíte overcommit_ratio na 100, bude tenhle konkrétní problém vyřešený. Otázka je, jak se s tím poperou aplikace. Spousta aplikací pro Linux totiž vykazuje daleko vyšší spotřebu paměti, než kolik jí nakonec opravdu použije. Někdy jde o několikanásobky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 06. 2009 00:05

Pravda, mozno mi pri takom nastaveni clustera aj Thunderbird spadne...

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  16. 06. 2009 00:09

Nebo to při spouštění nových procesů odstřelí náhodně nějaké staré, protože jste se s těmi novými nevešel do paměti. Ale co, hlavně že to má logo Tuxe :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 06. 2009 00:21

'chjo...

Toto nema cenu, oponent zjavne nezvlada spracovat dve informacie sucasne. No nic, dobru noc.

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 06. 2009 14:07

LKLK: Taky umím googlit

http://www.poznejlinux.cz/linuxbook/xhtml-chunks/ch... ...

Když dojde paměť

Jak se ale systém zachová, když paměť opravdu dojde, a nebude místo ani v RAM, ale ani ve swapu? Linuxové jádro používá techniku zvanou "memory overcommiting", která programům dovolí říci si o více paměti než je k dispozici. Je to dáno tím, že si programy mnohdy říkají o více paměti, než pak skutečně využijí. Jenomže, co se stane, když paměť dojde? Pak nastupuje nefalšovaný zabiják, oom-killer, rutina, která se pokusí odhadnout, který program je nejméně důležitý, a ten sestřelí.

Ono je ale velice těžké přesně odhadnout, který program je vhodné sestřelit a který ne. Takže se často stává, že zabiják sestřelí proces, který potřebujeme zachovat, zatímco ten, který situaci způsobil, zůstane nedotčen. Toto chování můžeme ovlivnit. Kromě možnosti přeprogramovat danou rutinu je možné použít rozhraní jádra v souboru /proc/sys/vm/overcommit_memory (povolení memory overcommiting, hodnota 1 povolí, hodnota 0 zakáže). Overcommit memory tedy zakážeme pomocí:

echo "0" > /proc/sys/vm/overcommit_memory

Nebo elegantněji:

sysctl -w vm.overcommit_memory=0

Permanentní nastavení můžeme provést v souboru /etc/sysctl.conf, kam zapíšeme následující rádku:

vm.overcommit_memory=0

V čem je problém?

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:08

LOL. Kdo dlouhodobě vyhlašuje jádro Linuxu nejlepším co je k dispozici? Kdokoliv s trochou teoretických znalostí vidí zmršený I/O stack, děsivou latency, mizernou správu paměti, podporu threadů naroubovanou po 10 letech násilím...

Na superpočítačích se Linux používá proto, že je levný. Stačí jakýkoliv systém, který umí síťovat, spravovat procesy a paměť, a nic víc není potřeba.

OOM Killer je prasárna. Linux nejprve aplikacím naslibuje paměť, kterou nemá. Když pak slíbená paměť není, tak OOM Killer aplikace náhodně odstřeluje. Ve Windows když není paměť, tak jí aplikace nedostane. Jestli vám doma Windows s nedostatkem paměti padají, je problém někde úplně jinde.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 19:19

protoze je levny!!! jasneee, to bude patrne duvod proc ho provozuji na nejvykonejsich a nejdrazsich strojich na teto planete... ze me to hned nenapadlo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:50

To vás ale napadnout mohlo. BlueGene/L v Lawrence Livermore National Laboratory má 106 496 nodů. Licence běžných Windows pro každý node by přišla asi na 212 992 000 Kč. Proto se Windows na clustery nepoužívaly. Ovšem co MS uvedl edici pro clustery, jsou ceny lepší. Proto dnes najdete stroj s Windows v TOP500 mezi prvními deseti.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 21:00

Coz, ono ich tam najdeme dokonca 5, v celej TOP500vke. Ale len jeden jediny bezi cisto na Windows... Cinania si asi chceli trocha zaexperimentovat

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 22:53

TOP500 nevypodívá o celém trhu, ale jen o 500 nejsilnějších strojích. Podobně v 500 nejsilnějších vozech možná nebude žádný VW, ale neříká to nic o úspěšnosti VW na trhu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 23:15

Zial, tabulku celeho trhu po ruke nemam

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 23:43

To jsme dva. MS ale v posledních dvouletech hodně prodává pojišťovnám, bankám, výrobním firmám a dalším zákazníkům. Ti očekávají, že nebudou HPC používat jako Eniac s hromadou údržbářů a "raketových vědců", ale jako běžný nástroj.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 22:04

hmmm no to bude asi ono

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 12:29

universální krabicové řešení proti variabilnímu na míru upravitelnému řešení na velice různorodý hw co je asi lepší

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 13:18

Nepochybuju o tom, že pokud nasazujete windows na superpočítač, tak že se systém upravuje na míru. Protože ty prachy co do toho vrazíte se někde musí objevit. Nepochybuju o tom, že se ve střevech SUSE na superpočítači se nehrabe níkdo od zákazníka Newllu, ale přímo někdo z Nowellu a stejné to bude u MS.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 13:50

Koneckoncu Windows Mobile si vyrobci smartphonu take upravuji podle svych potreb, takze bych se tomu u Windows pro superpocitace ani nedivil.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 14:10

To jsou individuální smlouvy o spolupráci při vývoji a podobně, v týmech sedí vývojaři aplikací, lidi od dodavatelů HW, lidi od OS a společně to dávají dohromady atd.. Zkrátka se to dělá celé na míru, sice to má nálepku nějaké řady a nějakého OS, ale s výrobkem v krámu to má společného velmi, velmi málo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 11:54

O operační systém přece vůbec nejde. Matematické výpočty můžou běžet na čemkoliv. U clusterů je nejdůležitější, že si IT pracovníci můžou připravi svoji vlastní instalaci na míru a přizpůsobit si i střeva operačního systému.

V tomhle je Linux úplně jinde. Instalace jde snadno klonovat, přesouvat, upravovat. Windows dáte jiný procesor a přivítá vás modrá obrazovka s nutnoství reinstalace. Jak chce tohle Microsoft vyřešit? Jak?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 12:03

Chceš flame? xD Ne? Tak se tak blbě neptej...

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 12:28

Hele, chování Windows98 asi nebude v tomhle případě relevantní....

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 12:50

"Windows dáte jiný procesor a přivítá vás modrá obrazovka s nutnoství reinstalace"

A tohle jsi zjistil jak? Ani u XP ani u Visty, kdyz jsme měnil starší 1 core CPU za dual core jsme reinstal nepotřeboval, stačili cca 2 restarty, systém si přehodil jiný driver a no problem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 13:15

Ahoj,

asik Te nepotesim, ale tento pristup u pocitacu ktere nejsou desktopove je chybne. U podobnych stroju mas sileny uptime v radech rocich. Dale zde mas soustavne cinnosti, a ne vsechny muzes vypnout. Dale pak kvuli clusterovani se nejedna o jeden HW, ale o vice kusu. Tvuj argument "2x restart a ok" je zcela chybny.

Ale jelikoz MS jiz nejaky patek do serverovych technologii "hrabe", tak pocitej jine chovani. Urcite to budou mit vyreseno

V kazdem pripade postradam tu cast "upravim si sam". Myslim ze u superPC je toto hlavni veci... treba se ale pletu...

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 13:58

Takze to uz mame dvoch, ktorym to spadlo a jedneho, ktoremu to stacilo 2x resetnut. A kde je teraz pravda?

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 17:25

Má smysl se bavit o lidech, kteří neumí základy administrace systému? Když se změní řadič disků, je potřeba provést rekonfiguraci. Kdo to neumí, ať to nedělá.

U clusterů je dnes problém úplně jiný. Sestavit cluster na Linuxu je trivialita, ale pak ho půl roku nutíte ke slušnému výkonu pomocí různých úprav. Cluster od MS máte na stejném či lepším výkonu prakticky hned po rozbalení.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 17:47

samozrejme, protoze napr. TCP/IP stack ve widlich je takrka referencni implementace :)) vic sprznit BSD stack uz opravdu vice neslo, o planovaci CPU radeji nemluve, protoze donutit ho rozume pouzivat vic nez 4 jadra je skoro nemozne....viz neustale prehazovani vlaken z jendoho jadra na druhe a pod...

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 18:54

BSD stack nebyl ve Windows použitý nikdy. Windows NT 3.1 měly stack od Spider Systems, a ten byl napsaný na základě BSD stacku. Ale v další verzi NT z kódu Spider Systems/BSD zbyly jen utility typu ftp.exe.

Plánovač je v pořádku. Přesun threadu mezi jádry se společnou cache nemusí vést k problému s výkonem. Na ccNUMA pak přesun procesu na jiné jádro může být lepší řešení, podle využití zdrojů procesem. Samozřejmě vyjma plánovače záleží také na HALu a implementaci ACPI (Static Resource Affinity Table nebo metoda _PXM).

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 19:17

ja jsem vzdy cetl to, ze jadra NT maji ukradeny a pochopitelne patricne sprzneny TCP stack z BSD. Je to vpodstate jedno, co je dulezite je to ze vykon a celkova kvalita TCP woken je proste jinde, linux se spolu s BSD povazuje za referenci. Planovac neni vporadku, kdyz mi jednou za tri vteriny prahazuje vypocetni vlakna z jendoho jadra na druhe a zase zpet, to se mi v linuxu nedeje, jsou toho plna fora. NUMA je na linuxu take ponekud jine kafe, ale s NUMA jsem nikdy nepracoval, tak nebudu rozumovat. Myslim ze kdyby byl linux kernel tak spatny, jak rikate, nebezelo by na nem 90% nejsilnejsich stroju na teto planete. Pravda je, ze pouzita jadra jsou vetsinou silne opatchovana a s vanilla kernelem moc spolecneho nemaji,

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:35

To jste možná četl. Já četl, že Air France Flight 447 unesli mimozemšťané, nebo brazilská vláda potřebovala tajně uklidit některé lidi. A Elvis prý žije :)

Výkon a kvalita TCP ve Windows není problém. Navíc na clusterech se používá Winsock Direct.

Co je špatného na přehazování vláken co 3 vteřiny? Možná přistupuje to vlákno ke zdrojům, ke kterým má cílový CPU lepší přístup. Po 3 sec je stejně obsah cache irelevantní, takže přesun vlákna nezpůsobí ztrátu výkonu. Jestli chcete běžet na určeném jádru, použijte affinity.

Node clusteru není silný stroj. Musí umět jen síťovat, spravovat procesy a paměť, a být co nejlevnější. Linux je levný, a všechno potřebné umí. Proto se používá Linux. Problémem je deployment a správa takového clusteru. Měsíce ladění než dosáhnete slušný výkon, a náročná správa clusteru. Proto banky, pojišťovny i univerzity čím dál častěji jedou clustery na Windows.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 22:20

No UNIXovej /etc/hosts se udrzel minimalne do XP (v novejsich nevim), cili tech veci asi bude vic nez jen par utilit...

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 22:32

Co má host file ve Windows společného s unixy? Host file je pro implementaci TCP/IP nutností. Unixy ho skladují v /etc/hosts, Windows v %SystemRoot%\system32\drivers\etc\hosts, Novell v SYS:etc\hosts, MacOS X 9 v System Folder: Preferences, OS/2 v [bootdrive]:\mptn\etc\. U žádného z těch systémů to nijak neimplikuje použití byť jediného řádku z BSD.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 22:59

To je hodne slabej argument :). Mac OS X je UNIX a OS/2 je vicemene sourozenec Windows NT. Windows, ktery vsechno ostatni ukladaj do registru opravdu nepotrebujou mit hosts file stejne pojmenovanej, v podobny ceste a ve stejnym formatu jako UNIXy, takze procpak to asi tak je?

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 23:47

MacOS 9, to X tam bylo omylem.

Windows zdaleka na všechno nepoužívají Registry. OS/2, Novell, MacOS a Windows 95 mají také podle vás TCP stack z BSD? A dokázáno je to tím, že mají soubor pojmenovaný hosts? :)

Jediný slabý argument je tady ten, že Windows mají TCP stack z BSD, protože mají soubor nazvaný %SystemRoot%\system32\drivers\etc\hosts

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  16. 06. 2009 00:03

Tak mě ještě napadá, že Linux také musí mít TCP stack z BSD. Vždyť má /etc/hosts :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 06. 2009 08:20

No Linux ma TCP stack z BSD :)).

/etc/hosts ve Windows je minimalne inspirovan BSD, ktery v souvislosti s nim ostatne zminuje i samotnej Microsoft http://technet.microsoft.com/en-gb/library/cc977247.aspx...

Je to dukaz, ze Windows nema z BSD jen ty utility. A vyvstava otazka proc je tam tenhle soubor, kdyz je ten TCP stack kompletne prepsan...

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 17:57

> Má smysl se bavit o lidech, kteří neumí základy administrace systému? Když se změní řadič disků, je potřeba provést rekonfiguraci.

Nieje. Respektive je, ale system to spravi sam. Celkom bezne pouzivam jeden "osystemovany" pevny disk v masinach, co nemozem bootovat z CDROM.

A k tvojej poslednej vete by som poprosil dokaz/odkaz

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:02

Některé druhy rekonfigurace systém sám neprovede. Například bez driveru řadiče, ze kterého bootujete, se systém jaksi nerozeběhne. Ve Windows navíc nesmíte přejít z ACPI na ne-ACPI konfiguraci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 19:46

Kto hovoril o Windows?

Iste, ak nemam k dispozicii ovladac, nenabootujem, ale to sa mi pri tych starych sunkach naozaj este nikdy nestalo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 19:52

To je pak potřeba nejdřív nainstalovat ovladač, a potom teprve změnit HW.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 21:01

.........

Dakujem za radu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 18:03

Mi to taky pada, vuhneme se NT4, kterym stacilo vytahnout nepouzivanou SCSI kartu a privitala vas BSOD.

U w2k tak 2003 a dokonce i 2008, staci prejit z P3 na P4 a bylo vymalovano.

Dale jsem prevedl pres vconverter w2003SP2 do Xenu 3.2.0 ... bezel, pak jsem mu dal xen 3.0.x a BSOD ... aha, jiny HW )

Ne nefunguje to a to ani v pripadech, kdy dohrajete drivery pro dany radic, ale tak leda z linuxu, z windows se tam uz neni mozno dostat.

... takze asi tak, proto maji vsichni min 2 AD, nebot kdyz padne HW a nesezene se stejny, nebo hodne podobny AD uz nelze obnovit a co nechapu, ani kdyz z toho LDAPu vyexportuji data a naimportuji je jinam, a i kdyz dam stejny SID, tak to nebezi, chce to cast SAM registru a ty se odkazuji na normalni registry a ty nebezi na jinem HW ... takze ERROR .... ale fakt nechapu, proc kdyz mam zalohu AD to nemuzu obnovit kdekoliv, vzdyt je to jen blba databaze.

Souhlasím  |  Nesouhlasím  |  Odpovědět
LKLK  |  15. 06. 2009 18:59

A co ta BSOD říká? Admin hodný toho jména nemá problém podobnou věc vyřešit.

Dvě AD hlavně proto, že když se jeden kousek podělá, tak jde všechno přihlašování do kytek. Jestli neumíte zálohu a restore AD, tak jděte na školení. Nebo si to zkuste na virtuálních strojích.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 11:52

článek ke vzniku pěknýho flame.

Už se těším.

Doufám, že mě nezklamete.

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 11:02

Jak uděláte ze superpočítače netbook?

Strčíte tam windows

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 15:57

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 10:36

tu zas bude flame war .. už to vidím

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 10:49

ale kde, nebude :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 11:04

počkej odpoledne, až se děti vrátí ze školy ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 10:16

Nic proti MS, ale radši ať zajistí bezproblémový upgrade svých windows a necpe se do superpočítačů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 10:36

upgrade nebo update?

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 10:44

Súdruh Popov ukradol kabát alebo súdruhovi Popovovi ukradli kabát, každopádne však so súdruhom Popovom niečo nie je v poriadku.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
15. 06. 2009 21:56

jj a to se ještě neví, jestli to byl kabát starého Popova, nebo Popovův starý kabát

Souhlasím  |  Nesouhlasím  |  Odpovědět
15. 06. 2009 23:32

pokud se to povede, je to rozhodne dobre, ale zatim to je balada na usi a maslo na hlavu

Neverim tomu ani za mak, prvni kdo by mel sanci to udelat je rozhodne Suse a nebo ze by Canonical zkusil i jinou vetev?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor