Pwojè pou ajoute sipò pou paralelizasyon pwosesis konpilasyon an nan GCC

Kòm yon pati nan yon pwojè rechèch Paralèl GCC Travay yo te kòmanse ajoute yon karakteristik nan GCC ki pèmèt pwosesis konpilasyon an divize an plizyè fil paralèl. Kounye a, pou amelyore vitès bati sou sistèm milti-nwayo, sèvis piblik make la sèvi ak lansman pwosesis konpilatè separe, chak nan yo bati yon dosye kòd separe. Nouvo pwojè a ap fè eksperyans ak bay paralelizasyon nan nivo konpilateur, ki pral potansyèlman amelyore pèfòmans sou sistèm milti-nwayo.

Pou tès prepare yon branch paralelize separe nan GCC, ki ofri yon nouvo paramèt "—param = num-threads = N" yo mete kantite fil. Nan etap inisyal la, nou te aplike transfè optimize entè-prosedural nan fil separe, ki rele siklik pou chak fonksyon epi yo ka fasil paralelize. Operasyon GIMPLE responsab pou optimize pyès ki nan konpitè endepandan ki evalye entèraksyon fonksyon youn ak lòt yo mete nan fil separe.

Nan pwochen etap la, li planifye tou pou avanse pou pi optimize RTL interprocedural nan fil separe, pran an kont karakteristik sa yo nan platfòm pyès ki nan konpitè. Apre sa, nou planifye pou aplike paralèlizasyon nan optimize intraprocedural (IPA) aplike nan kòd la andedan fonksyon an, kèlkeswa spesifik yo nan apèl la. Lyen ki limite pou kounye a se pèseptè fatra a, ki te ajoute yon seri mondyal ki enfim operasyon koleksyon fatra pandan y ap kouri nan mòd milti-threaded (nan tan kap vini an pral pèseptè fatra a ap adapte pou ekzekisyon milti-threaded nan GCC).

Pou evalye chanjman nan pèfòmans yo, yo te prepare yon seri tès ki rasanble dosye gimple-match.c, ki gen ladann plis pase 100 mil liy kòd ak 1700 fonksyon. Tès sou yon sistèm ki gen yon CPU Intel Core i5-8250U ak 4 nwayo fizik ak 8 vityèl (Hyperthreading) te montre yon diminisyon nan tan an ekzekisyon nan optimize GIMPLE nan pwosedi yo soti nan 7 a 4 segonn lè w ap kouri 2 fil ak 3 segonn lè w ap kouri 4. fil, i.e. Yon ogmantasyon nan vitès la nan etap asanble a anba konsiderasyon te reyalize pa 1.72 ak 2.52 fwa, respektivman. Tès yo te montre tou ke lè l sèvi avèk nwayo vityèl ak Hyperthreading pa mennen nan ogmante pèfòmans.

Pwojè pou ajoute sipò pou paralelizasyon pwosesis konpilasyon an nan GCC

Tan an jeneral konstriksyon te redwi pa apeprè 10%, men dapre prévisions, paralelize optimize RTL pral pèmèt reyalize rezilta pi byen mèb, depi etap sa a pran siyifikativman plis tan pandan konpilasyon. Apeprè apre paralelizasyon RTL, tan total asanble a ap redwi pa 1.61 fwa. Apre sa, li pral posib diminye tan an bati pa yon lòt 5-10% pa paralelize optimize IPA.

Pwojè pou ajoute sipò pou paralelizasyon pwosesis konpilasyon an nan GCC

Sous: opennet.ru

Add nouvo kòmantè