NUMmatics, NUMerology рдФрд░ рд╕рд┐рд░реНрдл NUMA рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

NUMA (рдиреЙрди-рдпреВрдирд┐рдлрд╝реЙрд░реНрдо рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ - рдпрд╛ рдиреЙрди-рдпреВрдирд┐рдлрд╝реЙрд░реНрдо рдореЗрдореЛрд░реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ - рдиреЙрди-рдпреВрдирд┐рдлрд╝реЙрд░реНрдо рдореЗрдореЛрд░реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░) рдХреЛрдИ рдирдИ рддрдХрдиреАрдХ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╕рдВрдЧреАрдд рд╡рд╛рджреНрдпрдпрдВрддреНрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рдПрдХ рдмрдЯрди рд╕рдордЭреМрддреЗ рднреА рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рд╡реАрдгрд╛ рд╣реИ ред
рд▓реЗрдХрд┐рди, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдХреЛрдИ рд╕рдордЭрджрд╛рд░ рд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдпрд╣ рд╕рдордЭрд╛рддрд╛ рд╣реЛ рдХрд┐ рдпрд╣ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдпрд╣ рдкреЛрд╕реНрдЯ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ NUMA рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди NUM рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рднреА рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдПрдХ рдЗрдВрдЯреЗрд▓ рдЗрдВрдЬреАрдирд┐рдпрд░, рдЕрдм рд╕реЗ рд╣рд░ рдХреЛрдИ рдЬреЛ NAMA рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИред рд░реВрд╕реА рднрд╛рд╖реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрд╕реЗ рднреЗрдЬреЗрдВрдЧреЗред

рддреАрди рд╣реАрд░реЛрдЬ

рдФрд░ рдЙрдкреЗрдХреНрд╖рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЛред рдпрд╣реА рд╣реИ, рдЖрдЗрдП рдпреВрдирд┐рдлрд╝реЙрд░реНрдо рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХреЛ рджреЗрдЦреЗрдВ, рдЬрд┐рд╕реЗ рдПрд╕рдПрдордкреА (рд╕рд┐рдореЗрдЯреНрд░рд┐рдХ рдорд▓реНрдЯреА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ - рд╕рд┐рдореЗрдЯреНрд░рд┐рдХ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ) рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрд╕рдПрдордкреА рдПрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордорд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрд╕ рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЖрдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рд╕рдорд╛рди рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЛ рд╕реАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рд╕рднреА рдЗрдВрдЯреЗрд▓ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд░ рдорд╢реАрдиреЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдореЗрдореЛрд░реА рдХрдВрдЯреНрд░реЛрд▓рд░ (рдПрдорд╕реАрдПрдЪ / рдПрдордЬреАрд╕реАрдПрдЪ), рдЬрд┐рд╕реЗ рдЙрддреНрддрд░ рдмреНрд░рд┐рдЬ ("рдиреЙрд░реНрдердмреНрд░рд┐рдЬ") рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рдЪрд┐рдкрд╕реЗрдЯ рдореЗрдВ рдерд╛ред



рдПрд╕рдПрдордкреА рдХрд╛ рджреЛрд╖ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕реАрдкреАрдпреВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рд╣реИ, рдмрд╕ рдПрдХ рдЕрдбрд╝рдЪрди рдмрди рдЬрд╛рддреА рд╣реИ, рд╕реНрдореГрддрд┐ рдЧрд╣рди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрд╕рдПрдордкреА рд╕рд┐рд╕реНрдЯрдо рд▓рдЧрднрдЧ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдирд╣реАрдВ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рджреЛ рдпрд╛ рддреАрди рджрд░реНрдЬрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕реАрдорд╛ рд╣реИред

рдкреНрд░рджрд░реНрд╢рди рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрдордкреА рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдПрдордкреАрдкреА (рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг) рд╣реИред
рдПрдордкреАрдкреА рдПрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрдИ рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИред рдПрдордкреАрдкреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдорд╛рдкрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреНрд░рдорд╛рджреЗрд╢рд┐рдд рдирд╣реАрдВ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдпрд╣ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдиреЛрдбреНрд╕ рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд░, рд╡рд┐рддрд░рдг рдФрд░ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдордкреАрдкреА рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред

рдФрд░ рдЕрдВрдд рдореЗрдВ, NUMA (рдиреЙрди-рдпреВрдирд┐рдлрд╝реЙрд░реНрдо рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕)ред рдпрд╣ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдПрд╕рдПрдордкреА рдФрд░ рдПрдордкреАрдкреА рдХреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред NUMA рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрдИ рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдХреА рд╕реНрдерд╛рдиреАрдп рдореЗрдореЛрд░реА рдФрд░ рдЕрдиреНрдп рдиреЛрдбреНрд╕ рдХреА рдореЗрдореЛрд░реА (рдЬрд┐рд╕реЗ "рд░рд┐рдореЛрдЯ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рджреЛрдиреЛрдВ рдХреА рдкрд╣реБрдВрдЪ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рджреВрд░рд╕реНрде рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪ рд╕реНрдерд╛рдиреАрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдзреАрдореА рд╣реИ ред рд╡рд╣рд╛рдБ рд╕реЗ рдирд╛рдо "рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╖рдо рдкрд╣реБрдБрдЪ" рд╣реИред рдпрд╣ рди рдХреЗрд╡рд▓ рдПрдХ рдирд╛рдо рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдирдпреВрдПрдордП рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдПрдХ рджреЛрд╖ рднреА рд╣реИ, рдЬрд┐рд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЕрдиреБрдХреВрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреА рдЪрд░реНрдЪрд╛ рдмрд╛рдж рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреАред

рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЗрдВрдЯреЗрд▓ Xeon рдбреБрдЕрд▓-рд╕реЙрдХреЗрдЯ NUMA рд╕рд┐рд╕реНрдЯрдо рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (рдЕрд░реНрдерд╛рддреН, рдЗрдВрдЯреЗрд▓ NUMA рдиреЗ рд╡рд╣рд╛рдВ рдбреЗрдмреНрдпреВ рдХрд┐рдпрд╛) CPU рдореЗрдВ рдПрдХреАрдХреГрдд рдореЗрдореЛрд░реА рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рдеред


рдпрд╣рд╛рдБ рдкреНрд░реЛрд╕реЗрд╕рд░ QPI рджреНрд╡рд╛рд░рд╛ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ - рдЗрдВрдЯреЗрд▓ рдХреНрд╡рд┐рдХрдкреИрде рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдЙрдЪреНрдЪ рдмреИрдВрдбрд╡рд┐рдбреНрде рдФрд░ рдХрдо рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рджреЗрд░реА рдХреЗ рд╕рд╛рдеред

рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреИрд╢ рдХреЛ рдЖрдХреГрддрд┐ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрдореЛрд░реА рдХреИрд╢ рдХреЗ рд╕рднреА рддреАрди рд╕реНрддрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣реИрдВред рддреЛ, рдПрдХ NUMA рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ : NUMA, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдВрдЯреЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреИрд╢ рдФрд░ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА (рдпрд╛рдиреА, рд╡рд┐рднрд┐рдиреНрди CPU рдХреЗ рдХреИрд╢ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдкрддреНрд░рд╛рдЪрд╛рд░) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрднреА-рдХрднреА NcNUMA - рдХреИрд╢ рд╕реБрд╕рдВрдЧрдд NUMA рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреИрд╢ рдХреА рд╕рд╛рдордЧреНрд░реА, рд╕рд╛рде рд╣реА рдореЗрдореЛрд░реА рдХреЗ рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬрдм рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреИрд╢ рдЙрд╕реА рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХреИрд╢ рд╕рдВрдЪрд╛рд░ рд╕рдордЧреНрд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЦрд░рд╛рдм рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдХреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдХрдИ рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдПрдХ рдЪрд░ рдХреЗ рд╕рд╛рде!)ред рдареАрдХ рдпрд╣реА NUMA- рд╕рдХреНрд╖рдо рдЙрддреНрдкрд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рд╕реБрдЧрдорддрд╛рдкреВрд░реНрд╡рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ NUMA рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред

рддреЛ, NUMA рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд OS рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ:

рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2003 , рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреА 64-рдмрд┐рдЯ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд╡рд┐рд╕реНрдЯрд╛ - 64 рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рддрдХ,
рд╡рд┐рдВрдбреЛрдЬ 7 , рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2008 рдЖрд░ 2 - рдкреВрд░реНрдг рд╕рдорд░реНрдердиред
Linux OS рдХрд░реНрдиреЗрд▓: 2.6 рдФрд░ рдЙрдЪреНрдЪрддрд░; UNIX OS - рд╕реЛрд▓рд╛рд░рд┐рд╕ рдФрд░ HP-Unix ред

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, NUMA Oracle8i, Oracle9i, Oracle10g рдФрд░ Oracle11g , рд╕рд╛рде рд╣реА SQL Server 2005 рдФрд░ SQL Server 2008 рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред

Windows рдХреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдЬрд╛рд╡рд╛ SE 6u2 , JVM 1.6 , рдФрд░ .NET рд░рдирдЯрд╛рдЗрдо рдореЗрдВ NUMA рд╕рдорд░реНрдерди рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрдВрдЯреЗрд▓ рдХреЗ NUMA рдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп - MKL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
" NUMA рд╕рдорд░реНрдерди " рдХрд╛ рдЕрд░реНрде рд╣реИ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд - рдЙрддреНрдкрд╛рдж рдЙрд╕ рдорд╢реАрди рдХреЗ NUMA рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдереНрд░реЗрдб рдХреЗ рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдиреЛрдб рдХреА рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдереНрд░реЗрдб рдЪрд▓ рд░рд╣рд╛ рд╣реИ) ) рдФрд░ рдиреНрдпреВрдирддрдо рд░реВрдк рд╕реЗ - рдЕрдЬрдирдмреАред рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╢рдмреНрдж "рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ", рдХреНрдпреЛрдВрдХрд┐ рдЖрдорддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдРрд╕рд╛ рдЙрддреНрдкрд╛рдж рдЬреЛ NUMA рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдмрд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ NUMA рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЪрд▓рдиреЗ рдФрд░ рдЪрд▓рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ NUMA рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рдмреБрд░рд╛ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрддреНрдкрд╛рдж рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╕рд┐рджреНрдз рдЗрдВрдЯреЗрд▓ рдереНрд░реЗрдбрд┐рдВрдЧ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ NUMA рдХреЗ рд╕рд╛рде рдорд▓реНрдЯреАрд╕реЙрдХреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЗ BIOS рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрдЗрдЯрдо " рдЕрдиреБрдорддрд┐ рджреЗрдВ / рдЕрдХреНрд╖рдо рдХрд░реЗрдВ " рд╣реИред рдмреЗрд╢рдХ, BIOS рдореЗрдВ NUMA рдкреНрд░рддрд┐рдмрдВрдз рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреА - рджреВрд░рд╕реНрде рдореЗрдореЛрд░реА рдХрд░реАрдм рдирд╣реАрдВ рдЖрдПрдЧреАред рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧрд╛ - рд╕рд┐рд╕реНрдЯрдо рдУрдПрд╕ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕реВрдЪрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдирдпреВрдПрдордП рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдФрд░ рдереНрд░реЗрдб рдкреНрд▓рд╛рдирд┐рдВрдЧ "рд╕рд╛рдорд╛рдиреНрдп" рд╣реЛрдЧреА, рдЬреИрд╕реЗ рдХрд┐ рд╕рдордорд┐рдд рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд┐рд╕реНрдЯрдоред

рдпрджрд┐ BIOS NUMA рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо NUMA рдиреЛрдбреНрд╕ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрди Affinity Table (SRAT) рд╕реЗ рдЙрдиреНрдирдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдкрд╛рд╡рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (ACPI) рдореЗрдВ рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдирдХреНрд╕ рдкрд░ рд▓рд┐рдмрдиреБрдорд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рд╕реНрд╡рдпрдВ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдВрдбреЛрдЬ рдПрдирдпреВрдПрдордП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП NUMA рд╕рдорд░реНрдерди рдХреА рд╢реБрд░реБрдЖрдд рд╣реИред рдЗрд╕реЗ рд╕реАрдзреЗ NUMA рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрдж рдкрд╣рд▓реЗ рд╣реА рдХрд╣реЗ рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рдЖрдЧреЗ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрджрд╛рд╣рд░рдг рдХреА рдУрд░ рдореБрдбрд╝реВрдВрдЧрд╛ред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдореЙрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╣реИ, рддреЛ рдореЙрд▓реЛрдХ рдХреЗрд╡рд▓ рдореЗрдореЛрд░реА рдХреЛ рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рднреМрддрд┐рдХ рдЖрд╡рдВрдЯрди рдХреЗрд╡рд▓ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдореЗрдореЛрд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб рдкрд░ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рдЬреЛ NUMA рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдореЙрд▓реЙрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╕рдордп рднреМрддрд┐рдХ рдореЗрдореЛрд░реА рдХреЛ рд╕реАрдзреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдиреЛрдб рдХреЛ рдореЗрдореЛрд░реА рд╕реНрдЯреНрд░реАрдо рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдереНрд░реЗрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдкрд░ NUMA- рдлреНрд░реЗрдВрдбрд▓реА рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрд╢рди рднреА рд╣реИред рдпрд╣ VirtualAlloc рд╣реИ , рдЬреЛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдореЙрд▓реЙрдХ рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред Windows NUMA API рд╕реЗ рдПрдХ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд╡рд┐рдХрд▓реНрдк VirtualAllocExNuma рд╣реИред

OpenMP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг,
main() { тАж #pragma omp parallel { //Parallelized TRIAD loopтАж #pragma omp parallel for private(j) for (j=0; j<N; j++) a[j] = b[j]+scalar*c[j]; } //end omp parallel тАж } //end main 

рдЖрдк NUMA рдХреЗ рд╕рд╛рде рджреЛрд╕реНрддреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдХреА рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдлрд┐рдЬрд┐рдХрд▓ рдореЗрдореЛрд░реА рдХреЗ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЗрд╕реА рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 KMP_AFFINITY=compact,0,verbose main() { тАж a* = (char *) VirtualAlloc(NULL, //same for b* and c* N*(sizeof(double))+1024, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); тАж #pragma omp parallel { #pragma omp for private(i) for(i=0;i<N;i++) { a[i] = 10.0; b[i] = 10.0; c[i] = 10.0;} тАж //OpenMP on TRIAD loopтАж #pragma omp parallel for private(j) for (j=0; j<N; j++) a[j] = b[j]+scalar*c[j]; } //end omp parallel тАж } //end main 

рдпрд╣рд╛рдВ рдПрдХ рдЕрд▓рдЧ рдмрд┐рдВрджреБ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЖрддреНрдореАрдпрддрд╛ - рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдереНрд░реЗрдбреНрд╕ рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдирд╛, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмреАрдЪ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рд░реЛрдХрдирд╛ рдФрд░ рдЬреЛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╕реНрдерд╛рдиреАрдп рдореЗрдореЛрд░реА рд╕реЗ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд "рдЕрд▓рдЧрд╛рд╡" рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ (рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬ рдПрдкреАрдЖрдИ, рдФрд░ рдПрдирдпреВрдПрдордП рд╡рд┐рдирдПрдкреАрдЖрдИ ) рджреЛрдиреЛрдВ рдкрд░ рдПрдлрд┐рдирд┐рдЯреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдПрдкреАрдЖрдИ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдУрдкрдирдПрдордкреА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, KMP_AFFINITY рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ)ред
рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрддреНрдореАрдпрддрд╛ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ (рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЖрджреЗрд╢ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ), рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, Affinity рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдХреЗрд╡рд▓ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╣реЛрдВ, рдЕрд░реНрдерд╛рддреНред , рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдЗрд╕ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдУрдПрд╕ рд╕реНрд╡рдпрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдзрд┐рдХ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА рдХрд╛ рдЧрд╣рдирддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдУрдПрд╕ рд╕рдорд╛рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдлрд┐рд░ рдПрдлрд┐рдирд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЪреНрдЫреЗ рд╕реЗ рдЕрдзрд┐рдХ рдиреБрдХрд╕рд╛рди рд╣реЛ

рдкреНрд░рджрд░реНрд╢рдиред

рдФрд░ рдЕрдм рдордЬрд╝реЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдПред рдЖрдЗрдП рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ NUMA рдореЗрдВ рдореЗрдореЛрд░реА рдХреА рдкрд╣реБрдВрдЪ рдХрд┐рддрдиреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ, рдФрд░ рдХреНрд░рдорд╢рдГ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди, рдЗрд╕ рд╡рд┐рд╡рд┐рдзрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдбреЗрдЯрд╛ рджреЗрдЦреЗрдВред рдЗрдВрдЯреЗрд▓ рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, "рджреВрд░рд╕реНрде рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рджреЗрд░реА ~ рд╕реНрдерд╛рдиреАрдп рдореЗрдореЛрд░реА рддрдХ 1.7x рдкрд╣реБрдВрдЪ рд╣реИ, рдФрд░ рд╕реНрдерд╛рдиреАрдп рдореЗрдореЛрд░реА рдХреА рдмреИрдВрдбрд╡рд┐рдбреНрде рд░рд┐рдореЛрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджреЛ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИ"
Xeon 5500 рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛ рдбреЗрд▓ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - " рд╕реНрдерд╛рдиреАрдп рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рджреЗрд░реА рд░рд┐рдореЛрдЯ рдХреЗ рд▓рд┐рдП 70 рдиреИрдиреЛрд╕реЗрдХрдВрдб рд╣реИ, - 100 рдиреИрдиреЛрд╕реЗрдХрдВрдб (рдпрд╛рдиреА ~ 1.4 рдЧреБрдирд╛), рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдХреА рдмреИрдВрдбрд╡рд┐рдбреНрде рд░рд┐рдореЛрдЯ рджреНрд╡рд╛рд░рд╛ 40% рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ ред"

рдЖрдкрдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдпрд╣ рдЕрдиреБрдорд╛рдирд┐рдд рдбреЗрдЯрд╛ рдореБрдлреНрдд Microsoft Sysinternals рдЙрдкрдпреЛрдЧрд┐рддрд╛ - CoreInfo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди NUMA рдиреЛрдбреНрд╕ рдХреА рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ "рд▓рд╛рдЧрдд" рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдмрд╣реБрдд рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдирд┐рд╖реНрдХрд░реНрд╖ рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рд╣реИрдВред
Coreinfo рдкрд░рд┐рдгрд╛рдо рдЙрджрд╛рд╣рд░рдг:
 Calculating Cross-NUMA Node Access Cost... Approximate Cross-NUMA Node Access Cost (relative to fastest): 00 01 00: 1.0 1.3 01: 1.2 1.0 

рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ NUMA рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдХреА "рд▓рд╛рдЧрдд" рдореЗрдВ рдХрд┐рддрдирд╛ рдЕрдВрддрд░ рд╣реИ, рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ, рдореИрдВ SQL рд╕реНрдкреЗрд╢рд▓рд┐рд╕реНрдЯ рд▓рд┐рдирдЪреА рд╢реАрдпрд╛ рдХреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдпрд╛, рдЬреЛ рдПрд╕рдХреНрдпреВрдПрд▓ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ NUMA рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред
рдПрдЪрдкреА рдкреНрд░реЛрд▓рд┐рдПрдВрдЯ 360 G7 рдкрд░ рджреЛ рдЗрдВрдЯреЗрд▓ Xeon X5690 рдХреЗ рд╕рд╛рде рдорд╛рдк рдХрд┐рдП рдЧрдП рдереЗ, рдХреБрд▓ 12 рдкреНрд░реЛрд╕реЗрд╕рд░ (24 рддрд╛рд░реНрдХрд┐рдХ рд╕реАрдкреАрдпреВ) рджреЗ рд░рд╣реЗ рдереЗ рдФрд░ Microsoft SQL Server 2008 R2 рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ X64 рдХреЗ рджреЛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдереА:
  1. рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкрд╣рд▓реЗ NUMA рдиреЛрдб рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕реНрдореГрддрд┐ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рддрд╛рд▓рд┐рдХрд╛ рдирд┐рд╣рд┐рдд рд╣реИ)
  2. рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреВрд░рд╕реНрде рдореЗрдореЛрд░реА (рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдПрдирдпреВрдПрдордП рдиреЛрдб рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдиреЛрдб рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рдЙрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред

рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдореВрд▓ рд▓рд┐рдВрдЪреА рдкреЛрд╕реНрдЯ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ) рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ред
рдпрд╣рд╛рдВ рдореИрдВ рдкрд░рд┐рдгрд╛рдо рджреВрдВрдЧрд╛ - рджреЛрдиреЛрдВ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордп рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдЕрдиреБрдорд╛рди:


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдВрддрд░ рдХреЗрд╡рд▓ 5% рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИ! рдкрд░рд┐рдгрд╛рдо рд╕реБрдЦрдж рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИред рдФрд░ рдпрд╣ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдЪрд▓ рд░рд╣реЗ рдереНрд░реЗрдбреНрд╕ рдХреЗ 32 рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдЕрдзрд┐рдХрддрдо рдЕрдВрддрд░ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ (рдереНрд░реЗрдбреНрд╕ рдХреА рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде, рдЕрдВрддрд░ рдФрд░ рднреА рдЫреЛрдЯрд╛ рд╣реИ)ред

рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ NUMA рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдореИрдВ рджреВрд░ рд╕реЗ рдЬрд╛рдКрдВрдЧрд╛ рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдШрд░ рдкрд░ рд╕рдлрд╛рдИ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдлрд╛рдИ рдХреЗ рдЯрд┐рдкреНрд╕ рдкрдврд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ :) рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рдЙрдкрдпреЛрдЧреА рд╕реБрдЭрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдХрдо рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдЧрдбрд╝рдмрдбрд╝реА рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдХрд░реАрдм рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

рдЕрдм "рдЪреАрдЬреЛрдВ" рдХреЛ "рдбреЗрдЯрд╛" рдФрд░ "рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ" рдХреЛ "рдкреНрд░реЛрдЧреНрд░рд╛рдо" рд╕реЗ рдмрджрд▓реЗрдВ рдФрд░ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдСрд░реНрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджреЗрдЦреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ NUMA рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдиреЗ рдЕрднреА рдкрдврд╝рд╛ рд╣реИред

Source: https://habr.com/ru/post/In165903/


All Articles