OT: Hyper Threading, bylo: OT: Asus Eee - prijemne prekvapeni

Galloth lordgalloth@gmail.com
Středa Říjen 22 08:48:48 CEST 2008


No co pisete se mi moc nezda, ale rad se necham poucit.
 Prvni vec je ze preklad vice souboru je samozrejme paralelizovatelny
a bezne se dela, takze to muzeme povazovat za vyreseno. Nedela se to
na urovni prekladace, ale na urovni spousteni jednotlivych uloh. Napr.
v linuxu znamy make. Takze se vracime k souboru co ma 100000 radek.
Proc psat takovy soubor? Pro optimalizaci. Jestlize rozdelite kod na
vice bloku a tak tim znemocnite optimalizace urciteho druhu. Napriklad
pokud vite, ze linker bude spojovat prave tyto dve funkce a ne jine,
tak muzete s klidem vyhodit nejake testovani podminek, pretypovavani,
ukladani do pameti a podobne veci.  Duvod proc se to nedela je prave
rychlost prekladu.

Takze k tomu co vy pisete o jednom souboru. Dobra pro provedeni
lexikalni analyzy si to muzu udelat tak jak popisujete, ale ja se ptam
k cemu mi to bude? Prekladacum moc nerozumim, ale podle toho co jsem
pochopil, jsou trochu slozitejsi nez lexikalni analyzator. Pracuje
totiz asi takto (me porozumeni)
Lexikalni analyzator -> Syntakticky analyzator -> Semanticky
analyzator -> Optimalizace -> generovani kodu

Kde samozrejme optimalizace a Semanticka analyza zabiraji nejvice
casu. S cehos plyne, ze vetsinu casu prekladac travi prave
optimalizovanim a semantickou analyzou a jen minimum v lexikalni
analyze. Takze vase paralelizace lexikalni analyzy by toho prilis
neprinesla maximalne by vyustila v automaticke rozdeleni souboru do
nekolika mensich souboru, to jest tedy k tomu, co uz tu je.

V podstate se naopak totiz domnivam, ze vlastni paralelizace
prekladace (opravdu prekladace, ne pusteni vice prekladu) je docela
slozita uloha. Protoze se musi paralelizovat prave ty optimalizace a
semanticka analyza, ktere jsou slozite sami o sobe. Urcite by to slo
ale otazkou je, jaka by byla ve vysledku rezije.

Tesim se na vase vysvetlujici pripominky.

PS: Latex nema velkou spotrebu pameti, tak rozdelte vasi ulohu na vice
souboru a prekladejte je paralelne a zrychleni mate.


Dne 21. říjen 2008 19:06 Bc. Marek Pavlu <pavlu@hwserver.cz> napsal(a):
> Ok, jednoduse:). Kazdy prekladac musi na zacatku provest lexikalni analyzu.
> Vezme soubor jako string a rozcleni jej na lexikjalni elementy...
>
> Mam-li soubor jeden, nema smysl uvazovat o paralelizci, tedy poku nejsu
> ho**do, co ma v jednom souboru 100 tisic radek, respektive uz cokoliv nad
> 2-5 tisic. Nicmene i toto by slo rozsekat na retezce a ty nechat analyzovat
> paralellne.
> Problem vznika jen na hranach rozdeleni retezce.
> Zpracovani lze provest uz paralelne.
>
> Mam-li souboru vice, tak z povahy veci je lexikalni analyza zcela nezavisla
> mezi soubory.
> Takze mohu klidne nechat provest na n-procesorech.
>
> Vznika jen problem konecne synchronizace dat z lexikalni analyzy, ale to lze
> pri vhodne datove strukture omezit na probem spojeni n-bloku dat.
> Tento problem ani neni problem, protoze tato  sekvencni cast bude velice
> rychla v pomeru s vlastni praci lexikalni analyzy...
>
> Navic bloky mohou byt z jisteho pohledu i ponechany jako rozdelen na n i pr
> syntaktickou analyzu, specialne pokud jeden blok je jeden soubor k analyze.
>
> Microsoft na toto ma zajimavy projekt, myslim je sice stale ve fazi
> TechnoogyPreview.
> Mel jsem to tu nainstalovano, ale nepamatuji se...
>
> Planuje se, ze by se snad mel stat jadrem vsech prekladacu MS v budoucnu
> specialne proto, ze se jedna o stavbu na zelene louce s tim, ze od pocatku
> je dusledne brana zretel na paralelizaci...
>
>
> Jinak procpak je TeX tak nesnesitelne pomaly a pri prekladu zere jen jedno
> jadro?
>
> M.P.
>
>
>
>> -----Original Message-----
>> From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On
> Behalf
>> Of Galloth
>> Sent: Tuesday, October 21, 2008 3:23 PM
>> To: HW-news
>> Subject: Re: OT: Hyper Threading, bylo: OT: Asus Eee - prijemne prekvapeni
>>
>> To jste me zaujal, muzete mi popsat jak by probihala paralelizace
>> prekladace? Jake by bylo vysledne zrychleni? Nejake odkazy na projekty
>> ktere to delaji,....?
>>
>> Dne 21. říjen 2008 12:55 Bc. Marek Pavlu <pavlu@hwserver.cz> napsal(a):
>> >> To je ale jiná problematika. Ač jsme schopni vyrobit relativně slušné
>> >> paralelní systémy (teď nemám na mysli PC) tak nějak nesme schopni či
>> > ochotni
>> >> pro ně psát programy.
>> >> ced
>> >
>> > Presne tak a je to videt i na mnoha velkych balicich SW primo na PC.
> Pred
>> > nedavnem jsem testoval Matlab a podle vseho se zda, ze paralelizace je
> jen
>> > na urovni moznosti spusteni vetsich casti jako vlakna, ale zakladni
>> > matematicke operace jako maticova nasobeni a podobne, se provadeji stale
> na
>> > jednom jadre...
>> >
>> > Pak mi kolegove reknou, hele, ono to jede paralelne podle toho, ze se
>> > zatizil procesor. Proste spustili nekolik pametove narocnych a slozitych
>> > operaci zaroven. Nicmene zrychleni nedosahlo ani Amdahlovy hranice,
> protoze
>> > tim vyznamne zvedli pametove naroky presne n-krat(kolik spustili tech
>> > jednotlivych vypoctu)...
>> > A tak hadam, ze ta zatizena jadra sice pracovala jak o zivot, ale
> primarne s
>> > pameti, takze hodne neucinne:)...
>> >
>> > Vysledne zrychleni na ctyrjadru bylo mizive, neco jako 1,1x az 1,2x...
>> >
>> > Naopak kdyz jsem navrhoval jiny kod bez jakekoliv paralelizace, nasledne
>> > zakomponoval paralelizaci na urovni vlaken a pote i SIMD instrukci,
> vlastne
>> > chronologicky tomu bylo naopak, tak zrychleni bylo razem 7x az 8x.
>> >
>> > Nejvice pomohly SIMD instrukce, ale paralalizace na urovni vlaken
> zpusobila
>> > 2,9x az 3,1x narust sam o sobe!
>> >
>> > No a pak prijde Donald Knuth jako predstavitel akademicke obce a rekne,
> ze
>> > paralelizace je spatnym krokem a ze si nedovede predstavit, ze by se
> dalo
>> > cokoliv na jeho ditku, TeXu, paralelizovat. Pritom TeX neni nic jineho
> nez
>> > prekladac a ty LZE na jiste urovni paralalizovat...
>> >
>> >
>> > S pozdravem,
>> >                Marek Pavlu
>> >
>> >
>> >
>> > ---
>> > avast! Antivirus: Odchozi zprava cista.
>> > Virova databaze (VPS): 081020-0, 20.10.2008
>> > Testovano: 21.10.2008 12:55:36
>> > avast! (c) copyright 1988-2008 ALWIL Software.
>> > http://www.avast.com
>> >
>> >
>> >
>> > _______________________________________________
>> > HW-list mailing list  -  sponsored by www.HW.cz
>> > Hw-list@list.hw.cz
>> > http://list.hw.cz/mailman/listinfo/hw-list
>> >
>>
>>
>>
>> --
>> Jan Kastil
>> galloth@jabbim.cz
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list@list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> ---
> avast! Antivirus: Odchozi zprava cista.
> Virova databaze (VPS): 081021-0, 21.10.2008
> Testovano: 21.10.2008 19:06:09
> avast! (c) copyright 1988-2008 ALWIL Software.
> http://www.avast.com
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>



-- 
Jan Kastil
galloth@jabbim.cz


Další informace o konferenci Hw-list