این دستور NPopenmpi2 است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
NetPIPE - خالصکار Pپروتکل Iمستقل Performance Eارزیاب
خلاصه
NPtcp [-h گیرنده_میزبان] [-b TCP_buffer_sizes] [گزینه ها]
امپیرون [-machinefile لیست میزبان] -np 2 NPmpi [-a] [-S] [-z] [گزینهها]
امپیرون [-machinefile لیست میزبان] -np 2 NPmpi2 [-f] [-g] [گزینهها]
NPpvm [گزینه ها]
برای توضیحات کامل تر در مورد نحوه اجرای NetPIPE در بخش های تست زیر مراجعه کنید
هر محیط بخش OPTIONS گزینه های عمومی موجود برای همه را شرح می دهد
ماژول ها فایل README را از tar-ball در
http://www.scl.ameslab.gov/Projects/NetPIPE/ برای مستندات مربوط به InfiniBand، GM،
ماژول های SHMEM، LAPI و memcpy.
شرح
NetPIPE از یک سری ساده از تست های پینگ پنگ در طیف وسیعی از اندازه های پیام برای ارائه یک پیام استفاده می کند
اندازه گیری کامل عملکرد یک شبکه پیام هایی با اندازه افزایش یافته را منعکس می کند
بین دو فرآیند، چه در یک شبکه و چه در یک سیستم SMP. اندازه پیام
در فواصل منظم و با اغتشاشات جزئی برای ارائه کامل انتخاب می شوند
ارزیابی سیستم ارتباطی هر نقطه داده شامل تست های پینگ پنگ زیادی است
یک زمان بندی دقیق ارائه دهد. تأخیر با تقسیم زمان رفت و برگشت محاسبه می شود
نصف برای پیام های کوچک (کمتر از 64 بایت).
زمان ارتباط برای پیام های کوچک تحت تسلط هزینه های سربار است
لایه های ارتباطی، به این معنی که انتقال محدود به تأخیر است. برای بزرگتر
پیامها، نرخ ارتباط به پهنای باند محدود میشود که توسط برخی مؤلفهها در آن محدود میشود
زیر سیستم ارتباطی (گذرگاه PCI، لینک کارت شبکه، سوئیچ شبکه).
این اندازهگیریها را میتوان در لایه ارسال پیام (MPI، MPI-2 و PVM) یا در
لایه های ارتباطی بومی که روی آنها اجرا می شود (TCP/IP، GM برای کارت های Myrinet،
InfiniBand، SHMEM برای سیستمهای Cray T3E و LAPI برای سیستمهای IBM SP). کار اخیر است
با هدف اندازه گیری برخی از ویژگی های سیستم داخلی مانند ماژول memcpy که
نرخ کپی حافظه داخلی یا یک ماژول دیسک در حال توسعه که اندازه گیری می کند را اندازه گیری می کند
عملکرد دستگاه های I/O مختلف
برخی از کاربردهای NetPIPE عبارتند از:
مقایسه تاخیر و حداکثر توان عملیاتی کارت های شبکه مختلف
مقایسه عملکرد بین انواع مختلف شبکه ها
جستجوی ناکارآمدی در لایه ارسال پیام با مقایسه آن با لایه
لایه ارتباطی بومی
بهینه سازی لایه ارسال پیام و تنظیم پارامترهای سیستم عامل و درایور برای بهینه
عملکرد زیرسیستم ارتباطی
NetPIPE با ماژول های زیادی ارائه شده است که به آن اجازه می دهد با طیف گسترده ای از آنها ارتباط برقرار کند
لایه های ارتباطی نوشتن رابط های جدید برای دیگر قابل اعتمادها نسبتاً آسان است
پروتکل ها با استفاده از ماژول های موجود به عنوان مثال.
TESTING TCP
اکنون NPtcp را می توان به دو روش راه اندازی کرد، با راه اندازی دستی NPtcp در هر دو سیستم یا توسط
با استفاده از اسکریپت nplaunch برای راه اندازی دستی NPtcp، گیرنده NetPIPE باید راه اندازی شود
ابتدا در سیستم راه دور با استفاده از دستور:
NPtcp [گزینهها]
سپس فرستنده اولیه در سیستم محلی با دستور شروع می شود
NPtcp -h گیرنده_میزبان [گزینه ها]
هر گزینه ای که استفاده می شود باید در هر دو طرف یکسان باشد.
اسکریپت nplaunch از ssh برای راه اندازی گیرنده راه دور قبل از شروع محلی استفاده می کند
فرستنده. برای استفاده از rsh، به سادگی اسکریپت nplaunch را تغییر دهید.
nplaunch NPtcp -h گیرنده_میزبان [گزینه ها]
La -b TCP_buffer_sizes گزینه اندازه بافر سوکت TCP را تنظیم می کند که می تواند تا حد زیادی
بر حداکثر توان در برخی از سیستم ها تأثیر می گذارد. یک نمودار توان عملیاتی که صاف می شود
ناگهان ممکن است نشانه ای از محدود شدن عملکرد توسط اندازه بافر سوکت باشد.
TESTING لامپ ها و MPI-2
استفاده از رابط MPI برای NetPIPE بستگی به اجرای MPI مورد استفاده دارد. همه
به تعداد فرآیندهایی که معمولاً با a مشخص می شود نیاز است -np 2 بحث و جدل.
محیط های خوشه ممکن است نیاز به لیستی از میزبان هایی داشته باشند که هنگام اجرای هر کار استفاده می شود.
لیست میزبان ها را در لیست میزبان قرار دهید، سپس، برای OpenMPI، NetPIPE را با استفاده از:
mpirun --hostfile لیست میزبان -np 2 NPmpi [گزینههای NetPIPE]
برای MPICH2 به جای آن استفاده کنید:
mpirun -machinefile لیست میزبان -np 2 NPmpi [گزینههای NetPIPE]
برای آزمایش ارتباطات یک طرفه استاندارد MPI-1، با استفاده از:
ساخت mpi2
همانطور که در بالا توضیح داده شد اجرا می شود و MPI از فراخوانی های 1 طرفه MPI_Put() در هر دو جهت استفاده می کند.
با مسدود کردن هر گیرنده تا زمانی که آخرین بایت قبل از پرش روی آن بازنویسی شود
پیام برگشت استفاده کنید -f گزینه ای برای اجبار استفاده از حصار برای مسدود کردن به جای یک
بازنویسی آخرین بایت در -g گزینه از توابع MP_Get() برای انتقال استفاده می کند
داده به جای MP_Put().
TESTING PVM
سیستم pvm را با استفاده از:
پی وی ام
و اضافه کردن ماشین دوم با دستور PVM
اضافه کردن گیرنده_میزبان
با استفاده از quit از رابط خط فرمان PVM خارج شوید، سپس گیرنده PVM NetPIPE را روی یکی اجرا کنید
سیستم با دستور:
NPpvm [گزینهها]
و فرستنده TCP NetPIPE را روی سیستم دیگر با دستور اجرا کنید:
NPpvm -h گیرنده نام میزبان [گزینه ها]
هر گزینه ای که استفاده می شود باید در هر دو طرف یکسان باشد. ممکن است از اسکریپت nplaunch نیز استفاده شود
با NPpvm همانطور که در بالا برای NPtcp توضیح داده شد.
TESTING روش
NetPIPE عملکرد شبکه را با ارسال تعدادی پیام در هر اندازه بلوک آزمایش می کند.
از کران پایین در اندازه پیام شروع کنید.
اندازه پیام تا رسیدن به کران بالای اندازه پیام افزایش می یابد
زمان ارسال یک بلوک بیش از یک ثانیه است، که اولین بار اتفاق می افتد. اندازه پیام
در فواصل منظم انتخاب می شوند و برای اغتشاشات جزئی از آنها بیشتر ارائه می شود
ارزیابی کامل زیرسیستم ارتباطی
La NetPIPE فایل خروجی ممکن است با استفاده از برنامه ای مانند gnuplot(1). خروجی
فایل شامل سه ستون است: تعداد بایت ها در بلوک، سرعت انتقال به بیت
در هر ثانیه و زمان انتقال بلوک (نصف زمان رفت و برگشت). دو مورد اول
ستونها معمولاً برای ترسیم نمودار خروجی در مقابل اندازه بلوک استفاده میشوند، در حالی که ستون سوم
تأخیر را فراهم می کند. به عنوان مثال توان در مقابل مسدود کردن اندازه می توان نمودار ایجاد کرد
با ترسیم بایت در مقابل بیت در ثانیه. نمونه gnuplot(1) دستورات برای چنین نموداری
خواهد بود
logscale x را تنظیم کنید
طرح "np.out"
OPTIONS
-a حالت ناهمزمان: دریافت پیشپست (ماژولهای MPI، IB)
-b TCP_buffer_sizes
اندازه بافر TCP ارسال و دریافت را تنظیم کنید (فقط ماژول TCP).
-B حالت پشت سر هم که در آن همه دریافتها به طور همزمان ارسال میشوند (ماژولهای MPI، IB).
-f از یک حصار برای مسدود کردن برای تکمیل استفاده کنید (فقط ماژول MPI2).
-g از MPI_Get() به جای MPI_Put() استفاده کنید (فقط ماژول MPI2).
-h نام میزبان
نام میزبان گیرنده برای اتصال (TCP، PVM، IB، GM) را مشخص کنید.
-I حافظه پنهان را باطل کنید تا عملکرد را بدون اثرات کش اندازه گیری کنید (بیشتر بر IB تأثیر می گذارد
و ماژول های memcpy).
-i به جای ارزیابی عملکرد، یک بررسی درستی انجام دهید.
-l starting_msg_size
کران پایینی را برای اندازه پیام هایی که باید آزمایش شوند مشخص کنید.
-n تکرار نمی شود
تعداد تکرارها را برای هر تست روی یک ثابت تنظیم کنید. در غیر این صورت، تعداد
تکرارها برای ارائه یک زمان دقیق برای هر آزمون انتخاب می شوند. بسیار مراقب باشید اگر
یک عدد کم را مشخص کنید تا زمان تست پینگ پنگ از تایمر بیشتر شود
دقت.
-O source_offset،dest_offset
تغییر منبع و مقصد بافرها را از صفحه کامل مشخص کنید
هم ترازی.
-o نام فایل خروجی
نام فایل خروجی را مشخص کنید (پیش فرض np.out است).
-p اغتشاش_اندازه
NetPIPE اندازه پیام ها را در فواصل منظم انتخاب می کند و آنها را افزایش می دهد
به صورت تصاعدی از مرز پایین به مرز بالا. در هر نقطه، آن
همچنین اغتشاشات 3 بایت بالا و 3 بایت زیر هر نقطه تست را برای یافتن آزمایش می کند
ویژگی های خاص در سیستم این مقدار اغتشاش را می توان با استفاده از -p
گزینه، یا با استفاده از آن خاموش شده است -p 0 .
-r این گزینه سوکت های TCP را پس از هر آزمایش بازنشانی می کند (فقط ماژول TCP). این است
برای برخی از تست های جریان برای اندازه گیری خوب از پنجره سوکت ضروری است
اندازه ممکن است در غیر این صورت سقوط کند.
-s حالت پخش را تنظیم کنید که در آن داده ها فقط در یک جهت منتقل شوند.
-S از ارسال های همزمان استفاده کنید (فقط ماژول MPI).
-u کران بالا
مرز بالایی را برای اندازه پیام مورد آزمایش مشخص کنید. به صورت پیش فرض،
NetPIPE زمانی متوقف می شود که زمان ارسال یک بلوک از یک ثانیه بیشتر شود.
-z دریافت پیام با استفاده از MPI_ANY_SOURCE (فقط ماژول MPI)
-2 حالت دو جهته را تنظیم کنید که هر دو طرف به طور همزمان ارسال و دریافت کنند
(پشتیبانی شده توسط اکثر ماژول ها). ممکن است نیاز به استفاده داشته باشید -a برای انتخاب ناهمزمان
ارتباطات برای MPI برای جلوگیری از انجماد. برای TCP، حداکثر اندازه تست خواهد بود
محدود به اندازه بافر TCP است.
از NPopenmpi2 به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید