I/O பேருந்துகளின் வடிவமைப்பு கணினி தமனிகளைக் குறிக்கிறது மற்றும் மேலே பட்டியலிடப்பட்ட ஒற்றை கூறுகளுக்கு இடையில் எவ்வளவு மற்றும் எவ்வளவு விரைவாக தரவு பரிமாற்றம் செய்ய முடியும் என்பதை கணிசமாக தீர்மானிக்கிறது. உயர் செயல்திறன் கம்ப்யூட்டிங் (ஹெச்பிசி) துறையில் பயன்படுத்தப்படும் கூறுகளால் சிறந்த பிரிவு வழிநடத்தப்படுகிறது. 2020 ஆம் ஆண்டின் நடுப்பகுதியில், HPC இன் சமகால பிரதிநிதிகளில் என்விடியா டெஸ்லா மற்றும் DGX, ரேடியான் இன்ஸ்டிங்க்ட் மற்றும் இன்டெல் ஜியோன் பை GPU- அடிப்படையிலான முடுக்கி தயாரிப்புகள் உள்ளன (தயாரிப்பு ஒப்பீடுகளுக்கு [1,2] ஐப் பார்க்கவும்).
NUMA ஐப் புரிந்துகொள்வது
சமநிலை அல்லாத நினைவக அணுகல் (NUMA) சமகால பல செயலாக்க அமைப்புகளில் பயன்படுத்தப்படும் பகிரப்பட்ட நினைவக கட்டமைப்பை விவரிக்கிறது. NUMA என்பது பல ஒற்றை முனைகளால் ஆன ஒரு கணினி அமைப்பாகும், இது மொத்த நினைவகம் அனைத்து முனைகளுக்கும் இடையில் பகிரப்படும்: ஒவ்வொரு CPU க்கும் அதன் சொந்த உள்ளூர் நினைவகம் ஒதுக்கப்பட்டுள்ளது மற்றும் கணினியில் உள்ள மற்ற CPU களில் இருந்து நினைவகத்தை அணுக முடியும் [12,7].
பல மத்திய செயலாக்க அலகுகளை (CPU) கணினியில் கிடைக்கும் எந்த அளவு கணினி நினைவகத்துடனும் இணைக்கப் பயன்படுத்தப்படும் ஒரு புத்திசாலி அமைப்புதான் NUMA. ஒற்றை NUMA முனைகள் அளவிடக்கூடிய நெட்வொர்க்கில் (I/O பஸ்) இணைக்கப்பட்டுள்ளன, இதனால் CPU மற்ற NUMA முனைகளுடன் தொடர்புடைய நினைவகத்தை முறையாக அணுக முடியும்.
உள்ளூர் நினைவகம் என்பது CPU ஒரு குறிப்பிட்ட NUMA முனையில் பயன்படுத்தும் நினைவகம். வெளிநாட்டு அல்லது தொலைநிலை நினைவகம் என்பது ஒரு CPU மற்றொரு NUMA முனையிலிருந்து எடுக்கும் நினைவகம். உள்ளூர் நினைவகத்தை அணுகுவதற்கான செலவுக்கு வெளிநாட்டு நினைவகத்தை அணுகுவதற்கான செலவின் விகிதத்தை NUMA விகிதம் என்ற சொல் விவரிக்கிறது. அதிக விகிதம், அதிக செலவு, இதனால் நினைவகத்தை அணுக அதிக நேரம் எடுக்கும்.
இருப்பினும், அந்த CPU அதன் சொந்த உள்ளூர் நினைவகத்தை அணுகும் நேரத்தை விட அதிக நேரம் எடுக்கும். உள்ளூர் நினைவக அணுகல் ஒரு பெரிய நன்மை, ஏனெனில் இது குறைந்த தாமதத்தை அதிக அலைவரிசையுடன் இணைக்கிறது. மாறாக, வேறு எந்த CPU வுக்கும் சொந்தமான நினைவகத்தை அணுகுவதில் அதிக தாமதம் மற்றும் குறைந்த அலைவரிசை செயல்திறன் உள்ளது.
திரும்பிப் பார்த்தால்: பகிரப்பட்ட நினைவக மல்டிபிராசசர்களின் பரிணாமம்
ஃபிராங்க் டென்னெமன் [8] நவீன அமைப்பு கட்டமைப்புகள் உண்மையிலேயே சீரான நினைவக அணுகலை (UMA) அனுமதிக்கவில்லை என்று கூறுகிறது, இந்த அமைப்புகள் குறிப்பாக அந்த நோக்கத்திற்காக வடிவமைக்கப்பட்டிருந்தாலும். எளிமையாகச் சொன்னால், இணையான கம்ப்யூட்டிங்கின் யோசனை, கொடுக்கப்பட்ட பணியை கணக்கிடுவதற்கு ஒத்துழைக்கும் செயலிகளின் குழுவை வைத்திருப்பது ஆகும், இதன் மூலம் கிளாசிக்கல் வரிசைமுறை கணக்கீட்டை துரிதப்படுத்துகிறது.
பிராங்க் டென்னெமன் விளக்கியபடி, 1970 களின் முற்பகுதியில், பல இணையான பயனர் செயல்பாடுகள் மற்றும் அதிகப்படியான தரவு உருவாக்கம் ஆகியவற்றுக்கு சேவை செய்யக்கூடிய அமைப்புகளின் தேவை தொடர்புடைய தரவுத்தள அமைப்புகளை அறிமுகப்படுத்தியது. Uniprocessor செயல்திறனின் ஈர்க்கக்கூடிய விகிதம் இருந்தபோதிலும், இந்த வேலைச்சுமையை கையாள மல்டிபிராசசர் அமைப்புகள் சிறப்பாக பொருத்தப்பட்டிருந்தன. செலவு குறைந்த அமைப்பை வழங்க, பகிரப்பட்ட நினைவக முகவரி இடம் ஆராய்ச்சியின் மையமாக மாறியது. ஆரம்பத்தில், கிராஸ்பார் சுவிட்சைப் பயன்படுத்தும் அமைப்புகள் பரிந்துரைக்கப்பட்டது, இருப்பினும் இந்த வடிவமைப்பு சிக்கலானது செயலிகளின் அதிகரிப்புடன் அளவிடப்பட்டது, இது பஸ் அடிப்படையிலான அமைப்பை மிகவும் கவர்ச்சிகரமானதாக ஆக்கியது. ஒரு பேருந்து அமைப்பில் உள்ள செயலிகள், பேருந்தில் கோரிக்கைகளை அனுப்புவதன் மூலம் முழு நினைவக இடத்தையும் அணுகலாம், கிடைக்கக்கூடிய நினைவகத்தை முடிந்தவரை உகந்ததாகப் பயன்படுத்த மிகவும் செலவு குறைந்த வழி.
இருப்பினும், பேருந்து அடிப்படையிலான கணினி அமைப்புகள் ஒரு தடங்கலுடன் வருகின்றன-அளவிடக்கூடிய சிக்கல்களுக்கு வழிவகுக்கும் வரையறுக்கப்பட்ட அலைவரிசை. கணினியில் அதிக CPU கள் சேர்க்கப்பட்டால், ஒரு முனைக்கு குறைவான அலைவரிசை கிடைக்கும். மேலும், அதிக CPU கள் சேர்க்கப்பட்டால், பேருந்து நீண்டது, இதன் விளைவாக அதிக தாமதம் ஏற்படுகிறது.
பெரும்பாலான CPU கள் இரு பரிமாண விமானத்தில் கட்டப்பட்டன. CPU களில் ஒருங்கிணைந்த நினைவகக் கட்டுப்பாட்டாளர்கள் சேர்க்கப்பட வேண்டும். ஒவ்வொரு CPU மையத்திற்கும் நான்கு மெமரி பேருந்துகளை (மேல், கீழ், இடது, வலது) வைத்திருப்பதற்கான எளிய தீர்வு முழு கிடைக்கக்கூடிய அலைவரிசையை அனுமதித்தது, ஆனால் அது இதுவரை மட்டுமே செல்கிறது. CPU கள் கணிசமான நேரம் நான்கு கோர்களுடன் தேங்கி நின்றன. சில்லுகள் 3 டி ஆனதால் குறுக்காக எதிரெதிர் CPU களுக்கு மேல் மற்றும் கீழ் தடயங்களைச் சேர்ப்பது அனுமதிக்கப்பட்டது. ஒரு அட்டை மீது நான்கு கோர் சிபியூ வைப்பது, பின்னர் அது ஒரு பேருந்துடன் இணைக்கப்பட்டது, அடுத்த தர்க்கரீதியான படி.
இன்று, ஒவ்வொரு செயலியும் ஒரு பகிரப்பட்ட ஆன்-சிப் கேச் மற்றும் ஆஃப்-சிப் மெமரியுடன் பல கோர்களைக் கொண்டுள்ளது மற்றும் ஒரு சர்வரில் உள்ள மெமரியின் பல்வேறு பகுதிகளில் மாறுபட்ட மெமரி அணுகல் செலவுகளைக் கொண்டுள்ளது.
தரவு அணுகலின் செயல்திறனை மேம்படுத்துவது சமகால CPU வடிவமைப்பின் முக்கிய குறிக்கோள்களில் ஒன்றாகும். ஒவ்வொரு CPU மையமும் ஒரு சிறிய நிலை ஒரு கேச் (32 KB) மற்றும் ஒரு பெரிய (256 KB) நிலை 2 கேச் ஆகியவற்றைக் கொண்டுள்ளது. பல்வேறு கோர்கள் பின்னர் பல எம்பி நிலை 3 தற்காலிக சேமிப்பைப் பகிர்ந்து கொள்ளும், இதன் அளவு காலப்போக்கில் கணிசமாக வளர்ந்துள்ளது.
கேச் மிஸ்ஸைத் தவிர்க்க - கேஷில் இல்லாத தரவைக் கோருகிறது - சரியான எண்ணிக்கையிலான CPU கேச், கேச்சிங் கட்டமைப்புகள் மற்றும் தொடர்புடைய வழிமுறைகளைக் கண்டறிய நிறைய ஆராய்ச்சி நேரம் செலவிடப்படுகிறது. கேச்சிங் ஸ்னூப் [4] மற்றும் கேச் ஒத்திசைவு [3,5] க்கான நெறிமுறை பற்றிய விரிவான விளக்கத்திற்கும் [8] பார்க்கவும், மேலும் NUMA க்குப் பின்னால் உள்ள வடிவமைப்பு யோசனைகளைப் பார்க்கவும்.
NUMA க்கான மென்பொருள் ஆதரவு
NUMA கட்டமைப்பை ஆதரிக்கும் அமைப்பின் செயல்திறனை மேம்படுத்தக்கூடிய இரண்டு மென்பொருள் தேர்வுமுறை நடவடிக்கைகள் உள்ளன - செயலி இணைப்பு மற்றும் தரவு வேலை வாய்ப்பு. [19] இல் விளக்கப்பட்டுள்ளபடி, ஒரு செயலி அல்லது ஒரு நூலை ஒற்றை CPU, அல்லது CPU களின் பிணைப்பு மற்றும் பிணைப்பை செயல்படுத்துகிறது. எந்த CPU. டேட்டா பிளேஸ்மென்ட் என்ற சொல் மென்பொருள் மாற்றங்களைக் குறிக்கிறது, இதில் குறியீடு மற்றும் தரவு நினைவகத்தில் முடிந்தவரை நெருக்கமாக வைக்கப்படும்.
வெவ்வேறு UNIX மற்றும் UNIX தொடர்பான இயக்க முறைமைகள் பின்வரும் வழிகளில் NUMA ஐ ஆதரிக்கின்றன (கீழே உள்ள பட்டியல் [14] இலிருந்து எடுக்கப்பட்டது):
- சிலிக்கான் கிராபிக்ஸ் IRIX ஆனது 1240 CPU க்கு மேல் ccNUMA கட்டிடக்கலைக்கு ஆரிஜின் சர்வர் தொடருடன் ஆதரவு.
- மைக்ரோசாப்ட் விண்டோஸ் 7 மற்றும் விண்டோஸ் சர்வர் 2008 ஆர் 2 ஆகியவை 64 லாஜிக்கல் கோர்களுக்கு மேல் NUMA கட்டமைப்பிற்கான ஆதரவைச் சேர்த்தன.
- லினக்ஸ் கர்னலின் பதிப்பு 2.5 ஏற்கனவே அடிப்படை NUMA ஆதரவைக் கொண்டுள்ளது, இது அடுத்தடுத்த கர்னல் வெளியீடுகளில் மேலும் மேம்படுத்தப்பட்டது. லினக்ஸ் கர்னலின் 3.8 பதிப்பு ஒரு புதிய NUMA அஸ்திவாரத்தைக் கொண்டுவந்தது, இது பிற்கால கர்னல் வெளியீடுகளில் மிகவும் திறமையான NUMA கொள்கைகளை உருவாக்க அனுமதித்தது [13]. லினக்ஸ் கர்னலின் 3.13 பதிப்பு பல கொள்கைகளைக் கொண்டுவந்தது, இது ஒரு செயல்முறையை அதன் நினைவகத்திற்கு அருகில் வைப்பதை நோக்கமாகக் கொண்டது, வழக்குகளைக் கையாளுதல், செயல்முறைகளுக்கு இடையில் நினைவகப் பக்கங்களைப் பகிர்வது அல்லது வெளிப்படையான பெரிய பக்கங்களைப் பயன்படுத்துவது; புதிய சிஸ்டம் கண்ட்ரோல் செட்டிங்ஸ், NUMA பேலன்சிங்கை இயக்குவதற்கு அல்லது செயலிழக்கச் செய்வதற்கும், பல்வேறு NUMA மெமரி பேலன்சிங் அளவுருக்களின் உள்ளமைவுக்கும் [15] உதவுகிறது.
- ஆரக்கிள் மற்றும் ஓபன் சோலாரிஸ் மாடல் NUMA கட்டமைப்பு இரண்டும் தர்க்கக் குழுக்களின் அறிமுகத்துடன்.
- FreeBSD பதிப்பு 11.0 இல் ஆரம்ப NUMA தொடர்பு மற்றும் கொள்கை உள்ளமைவைச் சேர்த்தது.
கம்ப்யூட்டர் சயின்ஸ் அண்ட் டெக்னாலஜி புத்தகத்தில், சர்வதேச மாநாட்டின் செயல்முறைகள் (CST2016) Ning கட்டமைப்பு பற்றிய ஆய்வு முக்கியமாக உயர்நிலை கணினி சூழல் மற்றும் முன்மொழியப்பட்ட NUMA- விழிப்புணர்வு ரேடிக்ஸ் பகிர்வு (NaRP) ஆகியவற்றில் கவனம் செலுத்தியது. வணிக நுண்ணறிவு பயன்பாடுகளை துரிதப்படுத்த NUMA முனைகளில் பகிரப்பட்ட தற்காலிக சேமிப்புகள். அதுபோல, சில செயலிகளுடன் பகிரப்பட்ட நினைவகம் (SMP) அமைப்புகளுக்கு இடையில் ஒரு நடுத்தர நிலப்பரப்பை NUMA குறிக்கிறது [6].
NUMA மற்றும் லினக்ஸ்
மேலே குறிப்பிட்டுள்ளபடி, லினக்ஸ் கர்னல் பதிப்பு 2.5 முதல் NUMA ஐ ஆதரிக்கிறது. Debian GNU/Linux மற்றும் Ubuntu இரண்டும் numactl [16] மற்றும் numad [17] ஆகிய இரண்டு மென்பொருள் தொகுப்புகளுடன் செயல்முறை மேம்படுத்தலுக்கான NUMA ஆதரவை வழங்குகின்றன. Numactl கட்டளையின் உதவியுடன், உங்கள் கணினியில் கிடைக்கக்கூடிய NUMA முனைகளின் பட்டியலை நீங்கள் பட்டியலிடலாம் [18]:
# numactl -ஹார்ட்வேர்கிடைக்கும்:2முனைகள்(0-1)
முனை0cpus:0 1 2 3 4 5 6 7 16 17 18 19 இருபது இருபத்து ஒன்று 22 2. 3
முனை0அளவு:8157எம்பி
முனை0இலவச:88எம்பி
முனை1cpus:8 9 10 பதினொன்று 12 13 14 பதினைந்து 24 25 26 27 28 29 30 31
முனை1அளவு:8191எம்பி
முனை1இலவச:5176எம்பி
முனை தூரம்:
முனை0 1
0:10 இருபது
1:இருபது 10
NumaTop என்பது இயக்க நேர நினைவக இருப்பிடத்தைக் கண்காணிப்பதற்கும் NUMA அமைப்புகளில் செயல்முறைகளை பகுப்பாய்வு செய்வதற்கும் இன்டெல் உருவாக்கிய ஒரு பயனுள்ள கருவியாகும் [10,11]. கருவி சாத்தியமான NUMA தொடர்பான செயல்திறன் தடைகளை அடையாளம் காண முடியும், எனவே ஒரு NUMA அமைப்பின் திறனை அதிகரிக்க நினைவகம்/CPU ஒதுக்கீடுகளை மீண்டும் சமநிலைப்படுத்த உதவுகிறது. மேலும் விரிவான விளக்கத்திற்கு [9] பார்க்கவும்.
பயன்பாட்டு காட்சிகள்
NUMA தொழில்நுட்பத்தை ஆதரிக்கும் கணினிகள் அனைத்து CPU களையும் முழு நினைவகத்தையும் நேரடியாக அணுக அனுமதிக்கிறது - CPU கள் இதை ஒற்றை, நேரியல் முகவரி இடமாக பார்க்கின்றன. இது 64-பிட் முகவரித் திட்டத்தின் திறமையான பயன்பாட்டிற்கு வழிவகுக்கிறது, இதன் விளைவாக தரவின் விரைவான இயக்கம், தரவின் குறைவான பிரதிபலிப்பு மற்றும் எளிதான நிரலாக்கத்திற்கு வழிவகுக்கிறது.
தரவு சுரங்க மற்றும் முடிவு ஆதரவு அமைப்புகள் போன்ற சேவையக பக்க பயன்பாடுகளுக்கு NUMA அமைப்புகள் மிகவும் கவர்ச்சிகரமானவை. மேலும், கேமிங் மற்றும் உயர் செயல்திறன் கொண்ட மென்பொருளுக்கான விண்ணப்பங்களை எழுதுவது இந்த கட்டிடக்கலை மூலம் மிகவும் எளிதாகிறது.
முடிவுரை
முடிவில், NUMA கட்டமைப்பு அளவிடக்கூடிய தன்மையைக் குறிக்கிறது, இது அதன் முக்கிய நன்மைகளில் ஒன்றாகும். ஒரு NUMA CPU இல், ஒரு முனை அதே முனையில் நினைவகத்தை அணுக அதிக அலைவரிசை அல்லது குறைந்த தாமதத்தைக் கொண்டிருக்கும் (எ.கா., உள்ளூர் CPU தொலைநிலை அணுகல் அதே நேரத்தில் நினைவக அணுகலைக் கோருகிறது; முன்னுரிமை உள்ளூர் CPU இல் உள்ளது). தரவு குறிப்பிட்ட செயல்முறைகளுக்கு உள்ளூர்மயமாக்கப்பட்டால் (இதனால் செயலிகள்) நினைவக செயல்திறனை வியத்தகு முறையில் மேம்படுத்தும். ஒரு செயலியில் இருந்து இன்னொரு செயலிக்கு தரவை நகர்த்துவதற்கான அதிக செலவுகள் குறைபாடுகளாகும். இந்த வழக்கு அடிக்கடி நடக்காத வரை, ஒரு NUMA அமைப்பு மிகவும் பாரம்பரிய கட்டிடக்கலை கொண்ட அமைப்புகளை விஞ்சும்.
இணைப்புகள் மற்றும் குறிப்புகள்
- NVIDIA Tesla vs. Radeon Instinct ஐ ஒப்பிடுக, https://www.itcentralstation.com/products/comparisons/nvidia-tesla_vs_radeon-instinct
- NVIDIA DGX-1 vs. Radeon உள்ளுணர்வை ஒப்பிடுக, https://www.itcentralstation.com/products/comparisons/nvidia-dgx-1_vs_radeon-instinct
- தற்காலிக சேமிப்பு, விக்கிபீடியா, https://en.wikipedia.org/wiki/Cache_coherence
- பஸ் ஸ்னூப்பிங், விக்கிபீடியா, https://en.wikipedia.org/wiki/Bus_snooping
- பல செயலி அமைப்புகளில் கேச் ஒத்திசைவு நெறிமுறைகள், அழகற்றவர்களுக்கான அழகற்றவை, https://www.geeksforgeeks.org/cache-coherence-protocols-in-multiprocessor-system /
- கணினி அறிவியல் மற்றும் தொழில்நுட்பம் - சர்வதேச மாநாட்டின் செயல்முறைகள் (CST2016), நிங் காய் (பதிப்பு
- டேனியல் பி. போவெட் மற்றும் மார்கோ செசாடி: லினக்ஸ் கர்னல், 3 வது பதிப்பு, ஓ'ரெய்லி ஆகியவற்றைப் புரிந்துகொள்வதில் NUMA கட்டமைப்பைப் புரிந்துகொள்வது, https://www.oreilly.com/library/view/understand-the-linux/0596005652/
- ஃபிராங்க் டென்னெமன்: NUMA டீப் டைவ் பகுதி 1: UMA இலிருந்து NUMA வரை, https://frankdenneman.nl/2016/07/07/numa-deep-dive-part-1-uma-numa/
- கொலின் இயன் கிங்: NumaTop: ஒரு NUMA கணினி கண்காணிப்பு கருவி, http://smackerelofopinion.blogspot.com/2015/09/numatop-numa-system-monitoring-tool.html
- Numatop, https://github.com/intel/numatop
- டெபியன் GNU / Linux க்கான தொகுப்பு எண் https://packages.debian.org/buster/numatop
- ஜொனாதன் கெஹியாஸ்: சீருடையில்லாத நினைவக அணுகல்/கட்டிடக்கலை புரிதல் (NUMA), https://www.sqlskills.com/blogs/jonathan/understand-non-uniform-memory-accessarchitectures-numa/
- கர்னல் 3.8 க்கான லினக்ஸ் கர்னல் செய்திகள், https://kernelnewbies.org/Linux_3.8
- சீரான அல்லாத நினைவக அணுகல் (NUMA), விக்கிபீடியா, https://en.wikipedia.org/wiki/Non-uniform_memory_access
- லினக்ஸ் நினைவக மேலாண்மை ஆவணம், NUMA, https://www.kernel.org/doc/html/latest/vm/numa.html
- டெபியன் GNU/Linux க்கான தொகுப்பு எண். https://packages.debian.org/sid/admin/numactl
- டெபியன் GNU/Linux க்கான தொகுப்பு எண், https://packages.debian.org/buster/numad
- NUMA உள்ளமைவு இயக்கப்பட்டிருக்கிறதா அல்லது முடக்கப்பட்டதா என்பதைக் கண்டுபிடிப்பது எப்படி? https://www.thegeekdiary.com/centos-rhel-how-to-find-if-numa-configuration-is-enabled-or-disabled/
- செயலி இணைப்பு, விக்கிபீடியா, https://en.wikipedia.org/wiki/Processor_affinity
நன்றி
இந்தக் கட்டுரையைத் தயாரிக்கும் போது ஜெரால்ட் ருப்ரெக்டின் ஆதரவுக்கு ஆசிரியர்கள் நன்றி தெரிவிக்க விரும்புகிறார்கள்.
ஆசிரியர்கள் பற்றி
Plaxedes Nehanda பல திறமைகள் கொண்ட, சுய-உந்துதலால் பல தொப்பிகளை அணிந்தவர், அவர்களில், நிகழ்வுகள் திட்டமிடுபவர், மெய்நிகர் உதவியாளர், படியெடுத்தவர், அத்துடன் தென்னாப்பிரிக்காவின் ஜோகன்னஸ்பர்க்கை மையமாகக் கொண்ட தீவிர ஆராய்ச்சியாளர்.
இளவரசர் கே. நேஹண்டா ஜிம்பாப்வேயின் ஹராரேயில் உள்ள பேஃப்லோ மீட்டரிங் இன்ஸ்ட்ரூமென்டேஷன் மற்றும் கண்ட்ரோல் (அளவியல்) பொறியாளர் ஆவார்.
ஃபிராங்க் ஹாஃப்மேன் சாலையில் வேலை செய்கிறார்-பெர்லின் (ஜெர்மனி), ஜெனீவா (சுவிட்சர்லாந்து) மற்றும் கேப் டவுன் (தென்னாப்பிரிக்கா)-லினக்ஸ்-பயனர் மற்றும் லினக்ஸ் இதழ் போன்ற பத்திரிகைகளுக்கு ஒரு டெவலப்பர், பயிற்சியாளர் மற்றும் ஆசிரியராக. அவர் டெபியன் தொகுப்பு மேலாண்மை புத்தகத்தின் இணை ஆசிரியரும் ஆவார் ( http://www.dpmb.org )