Tuesday, September 13, 2011

අපිට අවශ්‍ය ආකාරයට Processor Core භාවිතා කරමු...

අද ලිපිය ටිකක් පරිගණක තාක්‍ෂනයට නැඹුරුවුන ලිපියක්. ඒ කොහොමවුනත් දන්න නොදන්න කාටත් තේරුම් ගන්න හැකි ආකාරයට සරලව පියවරෙන් පියවර එය ඉදිරිපත් කරන්න බලාපොරොත්තුවෙනවා.
 මාතෘකාවේ කියන  Processor Core යනුවෙන් හදුන්වලා තියෙන දේ සිංහලෙන් නම් බහුමධ්‍ය දත්ත සැකසුම් ඒකක කියල දල වශයෙන් කියන්න පුළුවන්. බහුමධ්‍ය දත්ත සැකසුම් ඒකක  එහෙමත් නැත්නම් multi-core processor වල ආකාතිය සරලවම කියනවා නම් තනි පරිගණක ඒකකයක් තුල තිබෙන එකිනෙකින් වෙන්ව ක්‍රියාත්මකවන සැබෑ දත්ත සැකසුම් ඒකක හෙවත් Cores ලෙස හදුන්වා දෙන්නට පුළුවන්. Dual-Core, Core 2 Solo, Core 2 Duo සහ දැන් භාවිතා වෙන Core i3, Core i5 සහ Core i7 වගේ Processor අයත් වන්නේ මෙම multi-core processor කාණ්ඩයටම තමයි. ඒවගේම අපේ රටේ වැඩිදෙනෙක් මනාප නැතිවුනත් AMD Athlon X2 6400+ dual-core processor ත් අයත් වන්නේ මේ ගොඩටම තමයි.
Diagram of a generic dual-core processor, with CPU-local level 1 caches, and a shared, on-die level 2 cache

සාමාන්‍යයෙන් ඔබ භාවිතා කරන සියළුම පරිගණක වැඩසටහන් සැකසීමේ (processing) ක්‍රියාවලිය සදහා Windows OS වලදී එම පරිගණකයේ මධ්‍ය සැකසුම් ඒකකයේ හෙවත් Central Processing Unit (CPU) එකේ තියෙන සියළුම Core භාවිතා කරනවා (Windows normally allows any process to run multiple threads on any of your CPU cores). ඔබට හිතෙන්නට පුළුවන් මෙම නව multi-core processo වලදී අපිට ලැබුන මෙම  Core කිහිපයම පරිගණක වැඩසටහනකදී භාවිතා වීම වාසියක් නේද? ඉතින් ඇයි ඒක පාලනය කරන්නට යන්නේ කියලා. මෙන්න මේකයි හේතුව හිතන්න ඔබට වඩාත් සංකීර්ණ පරිගණක වැඩසටහනක් ක්‍රියාත්මක කරන්න අවශ්‍යයයි. ඒවගේම එයට CPU එකේ වැඩි දායකත්වයක් ලබා ගන්න එකත් වැදගත්. ඒවගේ අවස්ථාවක ඔබ භාවිතා කරන එතරම් වැදගත් නොවෙන වැඩසටහන් උදාහරනයක් ගත්තොත් Notepad, Wordpad වගේම පරිගණකයේ වෛරස් නාශක මෘදුකාංගය  ‍වගේ මෘදුකාංගයට සෑම Core එකක්ම දායකවීමේ අවශ්‍යතාවයක් නැතුවා‍ වගේම ඒවාට එසේ දායක වීම අර අපි මුලින් කතාකරපු වැදගත් වැඩසටහනට නිසියාකාරව උපරිම ක්‍රියාකාරීත්වයෙන් ක්‍රියාත්මකවීමට එය යම් බලපෑමක් ඇති කරන්නටද පුළුවන්. ඒ එක්කම මේ එතරම් වැදගත් නොවෙන වැඩසටහන් යම් මන්දගාමී තත්වයකට පත්විය හැකි වූවත් එයට වඩා මූලිකත්වය දියයුතු වැඩසටහන් නිසියාකාරව ක්‍රියාත්මකවීම ගැන අපට වඩාත් අවධානය යොමුකිරීම වඩාත් කාලෝචිතවේවි.

මෙන්න මේ කිවුව විදියට තෝරාගත් වැඩසටහන්වලට අපිට අවශ්‍ය ආකාරයට සැකසුම් ඒකකයේ ඒ ඒ Core වෙන් කිරීම Process affinity ලෙස හදුන්වාදෙන්න පුළුවන්.  එය අපට සාමාන්‍යයෙන් පරිගණකය භාවිතා කරන මොහොතේම අවශ්‍ය පරිගණක වැඩසටහනකට සිදුකරගන්නට හැකියි. මෙන්න මෙලෙස තමයි එය කරගන්නේ;

Ctrl + Shift + Esc Press කර Windows Task Manager Window එක ගෙන එහි Process tab එක
    ගන්න.

2 එහිදී දැන් ක්‍රියාත්මක වැඩසටහන් අතුරින් මෙලෙස Process සීමා කල යුතු වැඩසටහන තෝරා එය
   මත Right click කරන්න. එවිට ලැබෙන Menu එකේදී Set Affinity යන්න තෝරන්න. (උදාහරණයක් 
   ලෙස මෙහිදී Firefox  වැඩසටහන මේ සදහා භාවිතා ක‍රනු ලැබේ.)

3  එහිදී ඔබට මෙම Menu එක ලැබේ.


4 දැන් සිදුකල යුත්තේ එක  CPU එකක් ඉදිරියේ ඇති Check box එකේ Tick එක ඉවත් කිරීමයි.

දැන් ඔබට සමහර විට හිතෙන්නට පුළුවන් මේ Settings හැම වෙලාවෙම හදන්න වෙනවානේ. බැරිද එක්වරක් මේ වෙනස්කම කරල දිගටම ඒක තබාගන්න. එකටත් ක්‍රමයක් තියෙනවා. උදාහරණයක් විදියට හිතමු ඔබට Paint කියන application එක මේ විදියට එක් Core එකක් පමණක් භාවිතා කරල දිගටම ක්‍රියාත්මක කරන්න ඕන කියලා. ඔබට තියෙන්නේ එම Paint .EXE file එකේ Properties වලට මුලින්ම යාමයි. එහිදී ඔබට මෙලෙස දැකගන්නට ලැබේවි.


දැන් ඔබට කරන්නට තිබෙන්නේ මෙයයි. මෙහි %SystemRoot%\system32\mspaint.exe යන කොටසට පෙර %SystemRoot%\system32\cmd.exe /C start /affinity 1 යන කොටස ඇතුලත් කිරීමයි. මෙහිදී ඔබට අවශ්‍ය නම් affinity 1 වෙනුවට affinity 2 ලෙස වුවද ඇතුලත් කල හැක.දැන් මෙම Target එක මෙලෙස විය යුතුය.
%SystemRoot%\system32\cmd.exe /C start /affinity 2 %SystemRoot%\system32\mspaint.exe


ඒ අනුව දැන් මෙම Paint මෘදුකාංගය එක් Core එකක පමණක් ක්‍රියාත්මක වන අතර ඔබට ඒ බව නැවතත් Windows Task Manager වෙතට ගොස් එහිදී Process හිදී mspaint Right click කර Set Affinity තෝරගත් කල හොදින්ම දැකගත හැකිය.

ඔබට මෙය තවත් පහසුවෙන් කරගන්න හැකි විදියකුත් කියන්නම්. ඔබ http://www.wieldraaijer.nl/ වෙබ් අඩවියට පිවිසෙන්න.එහිදී RunWithAffinity මෘදුකාංගය තෝරාගෙන එය බාගත කරගන්න. මෙය නොමිලේ ලබා දෙන මෘදුකාංගයකි.‍ මේ එම මෘදුකාංගයේ අතුරුමුහුනතයි.


මෙහිදී ඔබට පහසුවෙන්ම Affinity set කිරීමට අවශ්‍ය මෘදුකාංගය තෝරාගෙන එයට අවශ්‍ය කටයුතු වෙනමම දත්ත යෙදීමකින් තොරව සිදුකරගතහැක.

ඔබත් මෙම වෙනස්කම් කර බලන්න.


















16 comments:

  1. මෙච්චර කල් වින්ඩෝස් පාවිච්චි කලත් affinity ගැන දැනගෙන උන්නෙම නෑ... බොහොම ස්තුතියි දිනේෂ් සහෝ මේ ගැන කියා දුන්නාට...ජය !

    ReplyDelete
  2. බොහොම ස්තූතියි මේ විස්තරයට

    ReplyDelete
  3. ස්තූතියි අයියා...මම දැනගෙන හිටියේ නැහැ මේ ගැන.ස්තූතියි දැනුවත් කරාට

    ReplyDelete
  4. හරිම වටිනා දැනුවත් කිරීමක් විශේෂයෙන්ම අපි වගේ සාමාන්‍ය පරිගණක දැනුමක් තිබෙන අයට පහසුවෙන් තේරුම් ගන්නට පුළුවන් විදියට මෙය සකසන්නට ගත් උත්සාහයට ස්තුතියි

    ReplyDelete
  5. wow. patta article ekak ne. niyamai. Thanks

    ReplyDelete
  6. හරිම වටිනව. ගොඩක් ස්තුතියි දැනුවත් කලාට

    ReplyDelete
  7. තරින්දී
    අනේ පුලුවන්නම් ලැප් ටොප් වල VGA එක වැඩිකරගන්න විදියක් කියල දෙන්න.මම අහල තියෙනවා RAM එකෙන් කොටසක් දෙන්න පුළුවන් කියල.ලබාදෙන දැනුමට ගොඩක් ස්තුති

    ReplyDelete
  8. සැබෑවටම සත් සමුදුරකි
    ඉතා පුළුල් දැනුම පරාසයකින් යුතු පුද්ගලයෙක් ඔබ.
    විශිෂ්ඨයි..

    සරල බව නිසා ඕනෑම කෙනෙකුට තේරුම් ගන්නත් පහසුයි.
    වටින කාරණයක් අපිට කියල දුන්නට ස්තූතියි.

    ReplyDelete
  9. හැමෝටම බොහොම ස්තූතියි! මමත් මේ දේ දැනගත්තේ අහම්බෙන් ඉතිං හිතුනා ‍ඒ ගැන ඔබතුමන්ලාටත් කියන්න.

    මහේෂ් නිශාන්ත, ඔබට යම් කිසි පරිගනක හා සබැදෙන දෙයක් පිළිබද ලිපියක් ලියවෙනවා නම් හොදයි කියලා හිතෙනවා නම් ඒ ගැන දැනුවත් ‍ක‍ලොත් එයිනුත් ලිපියක් ලියන්න පුළුවන්...

    තරින්දී, මම ඔබට නැවත වරක් ස්තූතිවන්ත වෙනවා. නිකම්ම නිර්නාමික විදයට නැතුව ඔබේ අනන්‍යතාවය කමෙන්ටුව තුල හෝ සටහන් කර අදාල අදහස ඉදිරිපත් කිරීම ගැන. මෙන්න මේ වෙබ් අඩවියට ගිහිල්ල ඔබට අවශ්‍ය දේ සොයාගන්න පුළුවන්. http://www.ehow.com/how_5393461_increase-video-memory-laptop.html

    ReplyDelete
  10. දැනුවත් කළාට තෑන්ක්ස් දිනේශ්.

    ReplyDelete
  11. @ඇඩ්මින් @ ෆේස්බුකියේ සිංහල බ්ලොග් සින්ඩිය (Darshana) - ස්තූතියි! ඔබලාගේ අදහස් වලින්ම තමයි බ්ලොග් අඩවිය සාර්ථකත්වයට පැමිණිලාද නැත්ද කියලා දැනගන්න හැකියාව ලැබෙන්නේ. ඉතින් මමත් හිතෙනවා මුළුමනින්ම නැතිවුනත් යම් ප්‍රමාණයකට හෝ ඒ දේ සාර්ථක ඇති කියලා...

    ReplyDelete
  12. core controlling software එකක් දන්නවද?මගේ lap එකේ battery එක ඉක්මනටම බහිනවා.process controlling එකට විසඳුමක් වේවිද?

    ReplyDelete
  13. @උදාර - ස්තුතියි! මේවා අපි එතරම් අවධානය යොමු නොකරන දේවල් හැබැයි ප්‍රයෝජනවත් වෙන්න ඉඩ තියෙනවා...

    ReplyDelete
  14. @sachith - මම අවසානයට දක්වලා තියෙන කුඩා මෘදුකාංගයත් භාවිතා කරන්න පුළුවන් නේද? battery එක වැඩි වේලාවක් තබාගන්න එකට මම ඉතාම ඉක්මනින් විසදුම් කියන්නම්...

    ReplyDelete
  15. සිරාවටම මේක සත් සමුදුරක් මම දැන් ලිපි 3 ක් කියෙව්වා මරැ..ජය වේවා

    ReplyDelete