Linux-ի միջուկում հայտնաբերվել է մոռացված պատչ, որն ազդում է AMD պրոցեսորների աշխատանքի վրա

Linux 6.0 միջուկը, որը ակնկալվում է թողարկվել հաջորդ երկուշաբթի, ներառում է փոփոխություն, որը վերաբերում է AMD Zen պրոցեսորներով աշխատող համակարգերի աշխատանքի հետ կապված խնդիրներին: Պարզվել է, որ կատարողականի անկման աղբյուրը 20 տարի առաջ ավելացված ծածկագիրն է՝ որոշ չիպսեթներում ապարատային խնդրի լուծման համար: Սարքավորման խնդիրը վաղուց շտկվել է և չի երևում ներկայիս չիպսեթներում, սակայն խնդրի հին լուծումը մոռացվել է և դարձել է ժամանակակից AMD պրոցեսորների վրա հիմնված համակարգերի արդյունավետության վատթարացման աղբյուր: Intel պրոցեսորների նոր համակարգերը չեն ազդում հին ելքի վրա, քանի որ նրանք մուտք են գործում ACPI՝ օգտագործելով առանձին intel_idle դրայվեր, և ոչ թե ընդհանուր պրոցեսոր_idle դրայվերը:

2002թ. մարտին միջուկին ավելացվեց ելք՝ արգելափակելու չիպսեթներում սխալի ի հայտ գալը՝ կապված STPCLK# ազդանշանի մշակման հետաձգման պատճառով անգործուն վիճակի ոչ պատշաճ կարգաբերման հետ: Խնդիրը լուծելու համար ACPI-ի ներդրումը ավելացրել է լրացուցիչ WAIT հրահանգ, որը դանդաղեցնում է պրոցեսորը, որպեսզի չիպսեթը ժամանակ ունենա անգործուն վիճակի մեջ մտնելու: AMD Zen3 պրոցեսորների վրա IBS (Instruction Based Sampling) հրահանգների միջոցով պրոֆիլավորելիս պարզվեց, որ պրոցեսորը զգալի ժամանակ է ծախսում կոճղերի կատարման վրա, ինչը հանգեցնում է պրոցեսորի բեռնվածության վիճակի սխալ մեկնաբանմանը և ավելի խորը քնի ռեժիմների սահմանմանը (C- State) պրոցեսորի cpuidle-ով:

Այս վարքագիծն արտացոլվում է աշխատանքի ծանրաբեռնվածության պայմաններում կատարողականի նվազման մեջ, որոնք հաճախ փոփոխվում են պարապ և զբաղված վիճակների միջև: Օրինակ՝ շրջանցման մանևրն անջատող կարկատել օգտագործելիս tbench թեստի միջին ցուցանիշները 32191 ՄԲ/վ-ից բարձրանում են մինչև 33805 ՄԲ/վ:

Source: opennet.ru

Добавить комментарий