اخبار دقیق سایت
ابررایانه، که آغاز گر زمینه ی تکنولوژی اطلاعات (IT) و ارائه کننده ی خدمات در این حوزه ی جدید می باشد، چگونگی منابع محاسباتی و مصرف و تحویل خدمات را، دوباره تعریف می کند. با ابررایانه، منابع فیزیکی متمایز و توزیع شده، مانند قدرت محاسباتی و فضای ذخیره سازی می تواند به دست آید و بر اساس تقاضا، در برنامه های کاربردی توانمند سازی با مقیاس پذیری و انعطاف پذیری با قیمت پایین استفاده شود. این امر ، به ایجاد مدل های مختلف خدمات کمک می کند، که عموما به صورت زیر طبقه بندی می شوند:
(Mell and Grance 2011): زیرساخت-به عنوان- خدمات (IaaS)، که تنها شامل فراهم کردن منابع محاسباتی اساسی مانند پردازش ، ذخیره و شبکه ها می شود، پلت فرم-به عنوان –خدمات(PaaS)، که در آن یک پلت فرم توسعه یافته با ابزارهای مورد نیاز (زبان، کتابخانه، و …) برای کاربر فراهم شده است و نرم افزار- به عنوان خدمات(SaaS)، که در آن مصرف کننده به راحتی برنامه های کاربردی که در ابر زیرساخت اجرا می شود را استفاده می کند.ترجمه دانشگاهی
مطابق نتایج آزمایش، ما روش مرتب سازی پیوسته و Radixsort را برای توسعه نمونه اولیه نمایه ساز انتخب کرده ایم تا امکان استفاده از هیبرید نمایه ساز CPU-GPU را در دنیای واقعی ارزیابی کنیم. نتایج زمانی به دست آمده توسط تست های نمایه سازی امید بخش هستند و برای حرکت سایر روش های فشرده محاسباتی روی GPU ها پیشنهاد می شود. اصول ترجمه
پیچیدگی الگوریتم های تئوری با استفاده از مدل k به عنوان مدل محاسباتی نوین ارزیابی شد که به طور خاص برای ثبت جنبه های مهم در معماری های پردازش جریان طراحی شده است. ترجمه دقیق
ارزیابی آزمایشی
ارزیابی آزمایشی، با استفاده از جریان های ورودی تولید شده با استفاده از توزیعات مختلف انجام شده بود. این نوع از آزمایشات، روی رفتار الگوریتم های تحلیل شده، به ویژه با توجه به واریانس کارایی به دست آمده برای توزیعات داده مختلف، تاکید می کرد. با توجه به زمان اجرا، راه حل ما عملکرد بهتری از Radixsort برای آرایه های ورودی ساخته شده تا بالای 8 میلیون عددصحیح دارد. به عبارت دیگر ، راه حل ما به نصف حافظه استفاده شده توسط بقیه نیاز دارد و قادر به استخراج موثر رابط حافظه پهنای باند بالا در دسترس در GPU است، که آنرا برای مرتب سازی مقادیر زیاد داده ها پایدار می سازد. ترجمه ارزان
شکل 8- A) زمان محاسباتی برای معماری های نمایه ساز مختلف. B) زمان محاسبه اندازه گیری شده با اجرای Index gpu+ با راه حل های مختلف GpuSort().
8-نتیجه گیری و کارهای آینده
این مقاله روی استفاده از GPUها به عنوان پردازنده های مشترک برای مرتب سازی تمرکز کرده است. ما یک روش ترسیم شبکه مرتب سازی پیوسته در GPU ها را پیشنهاد دادیم. از الگوریتم سنتی آغاز کردیم و آن را تا معماری هدف خود بسط دادیم. شبکه مرتب سازی پیوسته یکی از شبکه های مرتب سازی سریع برای اجرا در معماری های همسو می باشد. راه حل پیشنهادی ، از طریق مقایسه پیچیدگی و کارایی آن با نتایجی که توسط دو راه حل صنعتی (Radixsort و Quicksort) به دست آمدند، به صورت تئوری و تجربی ارزیابی شد.ترجمه دانشجویی
اجازه دهید تا ساختار جفت و مراحل ادغام الگوریتم ها در شکل 7 را در نظر بگیریم. پیچیدگی قبلی با اندازه B خطی است به عبارتی O(n|B). به عبارت دیگر، پیچیدگی فاز ادغام برابر با O(n|B|log n) می باشد، زیرا n روش ادغام با استفاده از heap از سایز n اجرا شده است، به عبارتی تعداد ران ها برای ادغام. در هر مرحله، Merge کوچکترین جفت termID-docID (t,d) را از heap و جزء جدید استخراج می کند که از همان رانی که (t,d) استخراج شده بود، درج شده است. استخراج زمان ثابتی را میگیرد. درج کردن با سایز heap به صورت لگاریتمی است. بنابراین پیچیدگی فاز ادغام، برابر با تعداد جفت های جمع آوری شده ضرب شده در log n می باشد، به عبارتی O(n|B|logn). به عبارت دیگر، پیچیدگی ادغام بیشتر از پیچیدگی مرحله تجزیه می باشد. ترجمه دانشجویی
شکل 8B، زمان های اجرای به دست آمده توسط نسخه های مختلف Indexgpu+ را با تغییر دادن الگوریتم مرتب سازی مبتنی بر GPU نشان می دهد. همانطور که در بخش قبلی گفته شد ، Rdixsort از BSN سریعتر می باشد. به هرحال، به دلیل فضایی که آن نیاز دارد، ما مجبور به استفاده از تعداد بلوکهایی هستیم که دوبرابر بزرگتر از تعداد بلوکهای مورد نیاز برای راه حل BSN هستند. بنابراین، فاز ادغام بسیار گران است، از آنجایی که تعداد رانها برای ادغام دو برابر هستند. این نتیجه ملاحظات در بخش 6 را تایید می کند. یعنی، کارایی فضا به دقت برای مرتب سازی مجموعه داده های بزرگ در نظر گرفته شده است. راه حل های غیر موثر در واقع نیاز دارند تا فرآیند مرتب سازی را به مراحل بیشتری تقسیم کنند. ، سپس نتایج جزیی را با هم ادغام نمایند. ترجمه
جدول 2 تغییرات زمان فهرست بندی با اندازه مجموعه های پردازش شده را نشان می دهد. ما دو جزء اصلی زمان محاسبات را در نظر گرفتیم، یعنی Parse+[Gpu]sort و Merge . Parse+[Gpu]sort زمان مورد نیاز برای ایجاد فایل های مرتب شده می باشند. در عوض، Merge، زمان صرف شده برای ادغام فایل های مرتب شده را نشان می دهد. در رابطه با دو روش مبتنی بر GPU، ستون Merge جدول 2 تنها یکبار نشان داده شده است، از آنجا که راه حل ها روش ادغام یکسانی را روی ورودی های دقیقا یکسان انجام می دهند.مترجم انگلیسی
شکل 8A، زمان محاسبه کلی در مورد سه الگوریتمی که آزمایش کردیم را نشان می دهد. اول از همه، ، با استفاده از مرحله مرتب سازی مبتنی بر GPU در نمایه ساز BSBI ما به فایده واضح از نظر بهره وری اشاره می کنیم. در واقع ، فاز مرتب سازی تنگنای دیگری از فرآیند مرتب سازی نشان نمی دهد. در مقابل، در فهرست سازی مبتنی بر GPU، زمان محاسبات تحت غلبه تاخیر فاز ادغام می باشد. ترجمه تضمینی
شکل 7، سه الگوریتم فهرست بندی متفاوت که ما آزمایش کرده ایم را نشان می دهد. Indexcpu الگوریتم BSBI کلاسیک مبتنی بر CPU می باشد که مجموعه داده D را به عنوان ورودی می گیرد و فهرست fout را تولید می کند. Indexgpu نقطه مقابل مبتنی بر-GPU می باشد ، که با جایگزین کردن الگوریتم مرتب سازی مبتنی بر-CPU با BSN ما به دست آمده است. در عوض، Index gpu+ نسخه لوله ای فهرست ساز BSBI می باشد. ما باید در بخش باقی مانده این الگوریتم آخر را با جزییات بیشتری توضیح دهیم. ترجمه مقاله
ما در مقدمه این مقاله اشاره کردیم که GPUها از دیدگاه محاسباتی بسیار قدرتمند هستند. اشکال اصلی معماری GPU ، گرچه، با اندازه حافظه محدود شده نشان داده شده است، (511 MB در تنظیمات آزمایشگاهی ما) و در مورد ما، این امر تعداد ماکزیمم جفتهایی را که میتوانیم در هر ران(run) تولید کنیم محدود می کند. (بلوکها به صورت B در شکل 7 نشان داده شده اند). این مورد می تواند زمان کل فهرست بندی را تحت تاثیر قرار دهد. به ویژه اندازه بلوک کوچکتر تعداد بیشتری از فهرست های حدواسط را ادغام خواهد کرد. این تعداد، پیچیدگی الگوریتم ادغام را از یک فاکتور لگاریتمی تحت تاثیر قرار می دهد (پایین را ببینید). به هرحال، پیچیدگی ادغام تحت سلطه تاخیر انتقال داده از/ به دیسک می باشد. وقتی که مقدار داده ی انتقال (یعنی جفتهای temid-docid ) در هر دو راه حل مبتنی بر CPU و GPU یکسان باشد، انتظار داریم زمان مورد نیاز با فاز ادغام مشابه باشند.ترجمه ارزان
نمایه سازی یک مجموعه داده واقعی
ما آزمایش هایی ارائه دادیم که کارایی یک نمایه ساز مبتنی بر مرتب سازی بلوکه شده (BSBI)، اصلاح شده با مرحله مرتب سازی مبتنی بر GPU را نشان می دهد، تا 6 مجموعه متفاوت از اسناد وب را فهرست بندی نماید. هر مجموعه با crawling یک بخش از وب به دست آمده است. بزرگترین مجموعه 26 میلیون سند را شامل می شود و هر سند سایز میانگین kB200 دارد. ستون اول جدول 2 اندازه های مختلف هر مجموعه تست شده را گزارش می کند.ترجمه ارزان
هدف ما نشان دادن این است که با استفاده از راه حل مبتنی بر GPU می توانیم فرآیند فهرست سازی را به دو دلیل افزایش دهیم : i) مرتب سازی بر اساس GPU، سریعتر از نوع مبتنی برCPU می باشد، ii) CPU ها و GPUها می توانند لوله ای شوند تا تلاش هم افزایی برای استخراج موثر تمامی منابع در دسترس حاصل شود. ما در بخش قبلی نشان دادیم که مرتب سازی بر اساس GPU بسیار موثر تر از مرتب سازی بر اساس CPU می باشد. به عبارت دیگر برای نشان دادن اینکه می توانیم به طور سینرژیک یک نمایه ساز CPU/GPU لوله ای استخراج کنیم، در این بخش یک طرح نوین فهرست سازی بلوکه طراحی کردیم که هر بلوکه صفحه ها، ابتدا توسط CPU تجزیه شده تا ردیفی از جفت های termID-docID تولید کند و سپس ردیف تولید شده توسط GPU مرتب می شود در حالی که CPU مرحله تجزیه جدیدی را انجام می دهد. ترجمه مطلوب
بعلاوه، از آنجا که دستکاری مستقیم کلیدهای مرتب سازی مانند Radixsort همیشه مجاز نیست، ارائه آنالیز بهتری از الگوریتم های مبتنی بر مقایسه تست شده دارای اهمیت می باشند. به دلیل ویژگی های در-جا و به دلیل کارایی بهتر حاصل از تست های انجام شده، BSN بسیار ارجح تر از Quicksort به نظر می رسد. بعلاوه، BSN واریانس کمتری در زمان های حاصل ارائه می دهد، که در عمل برابر با صفر می باشد. در مقابل، بسته به توزیع داده ورودی، زمان های Quicksort تحت تاثیر واریانس های بزرگ می باشند. احتمالا، این به دلیل چگونگی رشد درخت divide-et-impera بسته به عضو موثر انتخاب شده و در بقیه ورودی می باشد. به عنوان مثال، در سیستم مبتنی بر چندین-وسیله، (به عبارتی بیش از یک GPU) این نتیجه overhead همزمانی در بین مجموعه وسایل در دسترس را افزایش می دهد. ترجمه کتاب
شکل 6- تعداد تئوری تراکنش های حافظه برای BSN و Quicksort با در نظر گرفتن ویژگی های معماری واقعی، به عبارتی 16 k و ظرفیت حافظه خارجی در دسترس مرتبه ای از گیگابایت می باشد. ترجمه تضمینی
حرف آخر در مورد حافظه مصرفی روش ها صرف شده است. همانطور که اشاره شد Quicksort و Radixsort قادر به مرتب کردن آرایه های بزرگ نیستند، جدول 1 را ببینید. با بودن راه حل درجا، در حقیقت، BSN سپس می تواند تمامی حافظه در دسترس را به ذخیره مجموعه داده ها اختصاص دهد. این به دقت در نظر گرفته شده است از آنجایی که مجموعه داده های بزرگ به عبور کمتری از راه حل های دیگر نیاز خواهند داشت. در حقیقت، آنها نیاز دارند تا فرآیندهای مرتب سازی را به مراحل زیادی تقسیم نمایند، سپس نتایج جزیی را ادغام نمایند. علاوه بر این، عملیات ادغام ممکن است به انتقالات بیشتری برای کپی کردن نتایج جزیی به حافظه نیاز داشته باشد، اگر این عملیات روی چند هسته ای ها انجام شده باشد. به عبارت دیگر، CPU می تواند مرحله ادغام را انحام دهد، اما پهنای باند را کمتر از انواع GPU استخراج می کند.ترجمه مطلوب
جدول1 رقابت حافظه و تعداد مسیرهای واگرا را اندازه می گیرد. مقدار اولیه overhead را اندازه می گیرد به دلیل رقابت در بانک حافظه چیپ روشن، همانطور که مدل k انتظار دارد. مقدار دوم اندازه می گیرد که چه تعداد رشته های زمانی مولتی پروسسور نمی تواند همزمان کار کند. این دو معیار آخر با هم، کارایی الگوریتم های تست شده را نشان می دهند. هر دو مقدار مربوط به بهره برداری بهتر از یک پردازشگر همسویی داخلی SIMD را پایین نگه دارید. تمامی بانک های حافظه و تمامی محاسبات ، در حقیقت اجازه داده اند تا به طور همزمان کار شوند.ترجمه دانشجویی
آزمایشات، تئوری ما را تایید می کنند. شکل 5 میانگین، انحراف استاندارد، ماکزیمم و مینیمم زمان اجرای به دست آمده در آزمایش های صورت گرفته با راه حل ما، Cederman& Tsigas(2008) و Sengupta et al (2007) Radixsort را به ترتیب نشان می دهد. نتایج Radixsort سریعتر بوده و این عمدتا به دلیل پیچیدگی آن، به جای تعداد تراکنش های حافظه ای که نیاز دارد می باشد، جدول 1 را ببینید.ترجمه تضمینی
شکل 5-زمان مرتب سازی سپری شده برای ورودی ها با اندازه های مختلف. واریانس ، ماکزیمم و مینیمم زمان صرف شده را با candlestick نشان دادیم.
این فرضیات ما را تایید می کند که تعداد تراکنش های حافظه، غالب w.r.t دو پیچیدگی اندازه گیری دیگر است، به عبارتی محاسباتی و زمان. این به خصوص زمانی درست است که هزینه هر عملیاتی در مقایسه با تعداد حافظه در دسترس عملیات کوچک باشد (مانند مورد الگوریتم های اطلاعات –فشرده).ترجمه دقیق
Radixsort در حقیقت تعداد O(n) تراکنش حافظه دارد، که از O(n log2 n/k logk)مربوط به BSN و از O( nlogn/k) مربوط به Quicksort کوچکتر می باشد.
با درنظر گرفتن ویژگی های معماری واقعی ، که به پارامتر k مدل k مربوط است، و در نظر گفتن ظرفیت حافظه خارجی در دسترس در وسایل واقعی (مرتبه ای گیگابایت)، Quicksort منجر می شود تا کمترین روش اجرای تحلیل شده باشد، شکل 6 را ببینید.
به عبارت دیگر روش BSN ما با Radixsort قابل مقایسه است و همیشه سریعتر از Quicksort می باشد، عمدتا به دلیل اینکه نقشه توابع پیشنهاد شده، به بهره برداری کامل پهنای باند حافظه در دسترس اجازه می دهد.
-2-ارزیابی آزمایشگاهی
ارزیابی آزمایشگاهی با در نظر گرفتن زمان اجرا و مقدار حاظه لازم برای اجرای BSN، Quicksort و Radixsort روی مسائل با اندازه های مختلف انجام شده است. راه حل های متفاوتی روی دسکتاپ Ubuntu Linux با یک Nvidia 8800GT اجرا و تست شده اند، که یک وسیله تجهیز شده با پردازشگر 14 SIMD و حافظه خارجی 511 MB می باشد. کمپایلر استفاده شده نوع فراهم شده با Compute Unified Device Architecture (CUDA) SDK 2.1 (معماری دستگاه محاسبه یکپارچه) می باشد. حتی اگر CUDA SDK به محصولات Nvidia محدود شده باشد، به مدل k تبدیل می شود. برای کسب نتایج پایدار ، برای هر توزیع، 20 آرایه ی مختلف، تولید شده اند.ترجمه دانشجویی
مطابق با Helman, Bader. & JaJa ، ارزیابی دقیقتر الگوریتم های مرتب سازی، باید روی آرایه های تولید شده با استفاده از توزیعات مختلف باید انجام شود. ما آرایه ی ورودی مطابق با توزیع یکنواخت، گوسین و Zipfian تولید کردیم. همچنین حالت ویژه مرتب سازی یک آرایه ی تمام-صفر را در نظر گرفتیم. این آزمایش ها فواید و معایب روش های مختلف آزمایش شده را برجسته می کند. محاسبات Radixsort و BSN بر اساس طرح ثابتی است که از تعداد مراحل یکسان برای همه انواع پایگاه داده ورودی استفاده می کند؛ در مقابل، Quicksort از یک استراتژی تقسیم و تسخیر(حل) استفاده می کند، طوری که برای انجام تعداد مختلفی از مراحل وابسته به توالی روش های برگشتی استناد شده است.ترجمه متن
نویسندگان در آزمایشات خود، با ثابت کردن b=4 و h=1024 از طریق تجربه، کارایی بهتر را به دست آوردند. به این معنی که هر جریان از [n/1024] جز ساخته شده است. وقتی که محاسبه اجزای جریان پایان می یاشد، کپی آیتم های مرتب شده ممکن است به موقعیتهای غیرمتوالی بیش از o(2b) برسد. نهایتا، با درنظر گرفتن کلمه های 32-بیت ، ما 32/b هسته برای اجرا داریم. این منجر به فرمالیزه کردن تعداد کل تراکنش های حافظه صورت گرفته به شکل زیر می شود: ترجمه دانشجویی
با توجه به پیچیدگی محاسباتی و پیچیدگی زمانی، Radixsort از الگوهای گران استفاده نمی کند و مجادله در دسترسی بانک های حافظه کشترک را افزایش نمی دهد. بنابراین، پیچیدگی زمانی با b.n/k داده شده است، و پیچیدگی زمانی با تعداد اچزای ورودی خطی می باشد، به عبارتی b.n .
اولین هسته دسترسی به اجزا را ادغام می کند ، از آنجا که بلوکها دارای سایز برابر هستند، در نتیجه محاسبات متعادل هستند. سپس شمارنده ها تخلیه شده و هسته دوم آغاز می شود. فرض کنید که n/k<σ باشد، هر جمع پیشوند می تواند در یک جزء جریان محاسبه شود. در نتیجه برای هر جمع جریان به n/k2 تراکنش حافظه نیاز داریم تا n/k شمارنده را بخواند. پیچیدگی زمان یک تعداد اجزا لگاریتمی می باشد، در مقابل پیچیدگی محاسباتی خطی می باشد. هسته آخر ، به جز برای تخلیه داده ها در آرایه ی محوری، مشابه هسته اول است. خصوصا، به دلیل اینکه هر رشته به موقعیتهای متوالی حافظه دسترسی پیدا می کند، بخش اصلی تقاضاها ادغام شده نیست، یک تراکنش حافظه در هر جز را تقاضا می کند.
جدول زیر ارزیابی سه نوع هسته در مدل k را در بر دارد. به منظور محاسبه پیچیدگی همه الگوریتم ، جمع ترجمه دقیق
چنین فرمولهایی توسط logn چندبرابر شده است: ترجمه مطلوب
Radixsort. توالی n آیتم را به زیرمجموعه هایی با اندازه h تقسیم می کند که به بلوکهای p=[n/h] اختصاص داده شده است. Radixsort انتقال داده در استخراج overhead حافظه چیپ روشن کاهش می دهد تا داده را به طور محلی با رقم فعلی radix-2b مرتب نماید. از آنجا که همزمانی عمومی بین دو فاز متوالی مورد نیاز است، هر فاز از فراخوان های چندین هسته موازی مجزا تشکیل شده است. ابتدا، هر بلوک زیر مجموعه های خود در حافظه چیپ روشن را با استفاده از تکرار b تقسیم دوتایی بارگیری و مرتب می کند. سپس، بلوکها هیستوگرام رقمی ورودی -2b خود را برای حافظه عمومی مینویسند، و یک جمع پیشوندی روی 2b p جدول هیستوگرام انجام می دهند تا موقعیت خروجی صحیح داده مرتب شده را محاسبه نمایند. به هرحال، اجزا در زیرمجموعه، ممکن است در موقعیتهای بسیار مختلف مرتب شوند، بنابراین آمیختگی(ادغام) ممکن است اتفاق نیفتد. این تکامل، پهنای باند در دسترس را از دست می دهد ، که در عمل می تواند تا فاکتور 10 ، بالا باشد.
– ارزیابی تئوری
BSN تعداد مراحلی که باید اجرا شود (log2 n + log n)/2 می باشد. برای تخمین تعداد تراکنش های حافظه ای که نیاز است تا یک شبکه مرتب سازی برای هر آرایه ی اندازه n محاسبه شود، باید تعداد بخش های Г مورد نیاز برای پوشش کل شبکه را بشماریم. به معنای اینکه بدانیم چه تعداد اجزای جریان ، سپس تعداد فازهای واکشی/ flush ،و تعداد تراکنش های حافظه محاسبه شده است.
از تعریف2. نتیجه می شود که بخش اول ، مراحل اولیه ی (log 2σ+ logσ)/2 را پوشش می دهد.
اجازه دهید تا حلقه خط 2 الگوریتم 1 را stages بنامیم. در مراحل باقی مانده s > σ،مراحل logn-logσ باقی می ماند، و هر یک از آنها آخرین بخش Г را دارد که مراحل log σ را پوشش می دهد. به عبارت دیگر مراحل s-lofσ با بخش های پوشش دهنده مراحل log(σ/k) انجام می شوند. در ادامه، تعداد پخش های مورد نیاز برای پوشش کل شبکه عبارت است از:
از آنجا که هر جزء تنها زیرمجموعه ترکیبی اجزا را واکشی و تخلیه می نماید، تعداد تراکنش ها عبارتند از:
پیچیدگی زمان به صورت زیر است:
همانطور که با الگوریتم 3 به دست آمده که به طور مساوی اتصالات بین بانک حافظه k را گسترش می دهد و تمامی اجزا را به صورت فعال حفظ می کند.
این با توجه به پیچیدگی محاسباتی شناخته شده و
می باشد.
Quicksort ، محاسبات در مراحل log n را تقسیم می کند. برای هر مرحله سه هسته را اجرا می نماید. در اولی، ورودی را به طور مساوی تقسیم می کند و تعداد اجزای بزرگتر از عضو موثر و و تعداد اجزای کوچکتر از عضو موثر را می شمارد. در دومی، جمع پیشوند موازی دو مجموعه از شمارنده ها را دو بار انجام می دهد تا موقعیتی که اجزای اسکن شده قبلی نوشته شده اند را بداند. در هسته نهایی، به داده ها در حالتی مشابه هسته اول دسترسی پیدا می کند ، اما اجزا را در دوسر مخالف یک آرایه ی معین(آگزیلاری) آغاز شونده در موقعیتهای محاسبه شده در هسته قبلی، می نویسد.
برای ایفای شرط آمیختگی-k برای همه بخش های Г تولید شده، برخی از جفت آیتم ها را از یک بخش پارتیشن فعلی به بخش دیگر حرکت می دهیم. هدف گروه بندی در تراکنش حافظه یکسان با داشتن آدرس های متوالی می باشد، هر گاه که ما به زنجیره طولانی تر از آدرس های حافظه متوالی نیاز داریم. برای انجام آن، هر دنباله Г با مقادیر در محدوده ]logk,0] آغاز شده است. سپس مقادیر مرتبط با مرحله بعدی اجرا در دنباله Г قرار اده شده اند تا آنجا که مقادیر مجزای log σ را شامل می شود.
این عملیات درجه آمیختگی انتقال داده را استدلال می کند، هنوز به حذف از Г برخی اجزای مرتبط با مقادیر بعدی c مجبور می کند. پهنای باند ارتباطی احتمالی با هزینه کاهش پول برخی از فوق مرحله ها به دست آمده است. این به معنی انجام فوق مراحل بیشتر برای پوشش همه شبکه پیوسته می باشد.
6- ارزیابی شبکه مرتب سازی مبتنی بر مدل –k
راه حلی که ما پیشنهاد دادیم به طور تجربی و تئوری ، از طریق مقایسه پیچیدگی و کارایی با نتایج به دست آمده توسط Cederman & Tsigas (2008) از نسخه Qukicsort آنها (ازین پس به عنوان Quicksort اشاره می شود) و راه حل مبتنی بر Radixsort (ازین پس به عنوان Radixsort اشاره می شود) پیشنهاد شده توسط Sengupta (2007) و همکاران، ارزیابی شده است. quicksort اصل محبوب شناخته شده تقسیم – تسخیر(حل) را استخراج می نماید، در حالی که Radixsort ارقام کلیدی را پردازش می کند.
در کار قبلی استدلال کردیم که مینیمم کردن انتقال داده کافی نیست. به ویژه، در مدل مبتنی بر cache ارئه شده توسط Frigo, Leierson, & Ramachandran(1999) ، پهنای باند نیاز دارد تا خط-chache را جایگزین نماید، در مورد cache-miss ثابت است. مطابق قوانین مدل k، زمانی که دسترسی حافظه هم زمان می تواند با یک تراکنش حافظه منفرد آمیخته شود، پهنای باند حافظه به طور کامل بهره برداری شده است،. به این معنی که کاهش تاخیر انتقال داده با سازماندهی مجدد، در حالت مناسب دسترسی به حافظه چیپ-خاموش ممکن است.
در بقیه بخش، به یک دنباله از آدرس های متوالی k با عبارت مجموعه آمیخته k اشاره خواهیم کرد و خواهیم گفت که هر بخش یا دنباله Г مربوطه، شرایط ترکیب –k را مطلوب می سازد، زمانی که مقادیر آن تنها به مجموعه هایی ارتباط دارد که ترکیب-k هستند. به ویژه برای تعریف3، چنین دنباله Г، شرط آمیختگی-k را مطلوب می سازد ، زمانی که تمامی مقادیر در محدوده 0 تا logk-1 را در بر می گیرد.
اجازه دهید تا شرط آمیختگی –k در مدل k را تحلیل کنیم. با تعریف دنباله Г، زمانی که در حالت Г<و c>log k قرار میگیریم، شرط آمیختگی k، تایید شده است زیرا بخش Г به موقعیتهای زیرمجموعه آمیخته 2c+1 دست می یابد. زمانی log k c و ما هنوز در حالت Г< هستیم، نیاز داریم تا به دنباله های متوالی آدرسها دست یابیم تا شرط آمیختگی k را ایفا نماییم. به عبارت دیگر، وقتی که در حالت دنباله- Г قرار میگیریم، هیچ آدرس متوالی در موقعیتهای مرتبط گنجانده نمی شود، زیرا مقدار 0 نمی تواند در این نوع دنباله برای تعریف 1 گنجانده شود. در واقع، دنباله Г0 از توالی منحصر بفرد آدرس های به هم پیوسته تشکیل شده است.
از اصل فوق، و به دلیل اینکه هر بخش تمامی اجزای A را پوشش می دهد، مستقیما از این تبعیت می کند که
نتیجه 1. تعداد بخش ها برای پوشش تمامی مقایس ها در فوق مرحله 2logn-|Г| می باشد. ادعای قبلی می تواند بسط داده شود تا روش بخش-Г را تعریف نماید.
تعریف3- (بخشГ) . با توجه به فوق مرحله k، بخش –Г مربوطه مجموعه ای از بخش p= {pi} ، برای 2logn-|Г| i 0 می باشد که هر بخش توسط الگوریتم 2 ایجاد شده است. ترجمه دانشجویی
اکنون، اجازه دهید تا در مورد ارتباطات بالاسری (oeverhead) بحث شده در فوق، ملاحظاتی انجام دهیم. هر زمان که یک جریان را انجام میدهیم، محاسبات زمان صرف شده برای جذب تمامی اجزای n تقسیم شده بین بخش های مختلف را به عهده گرفته است، سپس به آنها ارسال شده است. به منظور مینیمم کردن این overhead، نیاز داریم تا تعداد جریان های لازم برای پوشش شبکه را مینیمم کنیم، به عبارتی، برای اینکه تعداد مراحل انجام شده در هر بخش را ماکزیمم نماییم. زیرا هر دنباله-Г از 2|Г| آیتم ساخته شده است، اصل موضوعی 1 را ببینید و در مدل k داده هر بخش در حافظه محلی موقعیتهای σ فیت شده است، سایز بهینه برای Г، log σ می باشد. سپس هر موقعیت Г، جریانی را تشکیل می دهد که یک هسته مناسب را تغذیه می کند. به دلیل طرحی که ما طراحی کردیم، هر بخش به صورت شبکه پیوسته مدل سازی شده است (الگوریتم3 را ببینید). ممکن است نشان داده شود که چنین مدلسازی اجازه دهد تا همیشه اجراکنندگان k حفظ شوند. در زمان مشابه، اتصال به دسترسی بانک اطلاعات حافظه چیپ –روشن k متعادل شده است. دقت کنید که، در قانون مدل k، با متعادل نمودن اتصال، دسترسی تاخیر کاهش یافته است زیرا اتصال ماکزیمم، پایین تر است.ترجمه ارزان
کد مشابه در الگوریتم 3 برخی جنبه های حانبی را حذف می کند، تا روی تکنیک های اصلی تمرکز نماید. به ویژه یک بخش (Ap) و دنباله Г (Г) را در بر میگیرد، سپس همه را باتوجه به مقایسه های در محل، انجام می دهد. روش InsAt (N,x,p) بیت x را در موقعیت نمایش دوگانه N قرار می دهد، به عنوان مثال InsAt(7,0,1)= 1 1 0 1 = 13. این روش یک مقایسه و تعویض بین اجزای آرگومان(استدلال) انجام می دهد و اگر نیاز باشد، آنها را تعویض می نماید. دقت نمایید که، هر اجرای RUNSTREAMELEMENT از دستورالعملهای انشعابی مشروط آزاد است. این یک ویژگی بسیار مهم برای الگوریتم های SIMD می باشد، در حقیقت، مسیرهای اجرای واگرا که توسط واحدهای ساختاری (منفرد) پردازشگر ردیف شده اند.ترجمه عربی
تعریف 2. (توالی – 0Г( دنباله= (k,0 ] 0Г مرتبط به موقعیتهایی است که الگوریتم 1 گردش می نماید زمانی که بین مراحل 1/2k (k+1) شروع شونده از step1,0 مقایسه انجام می دهد.
در ادامه، با توجه به جزء A[r] ، با n r 0 ، و در نظرگرفتن یک فوق مرحله از شبکه پیوسته، تنها بیتهایی از r گردش (flip) یافته با الگوریتم 1 برای شناسایی اجزای مربوط به مقایسه، آنهایی هستند که با دنباله Г موقعیتهای بیت شناسایی شده اند. سپس، موقعیتهای بیت که در Г اتفاق نمی افتند برای اجزای مقایسه شده با A[r] در چنین فوق مرحله ای یکسان هستند. با تعریف دنباله Г، می توانیم هدف مربوطه را بازیابی کنیم.
ادعای 2. اجازه دهید A[r] و A[q] دو جزء A باشند. با توجه به فوق مرحله و دنباله Г آن، A[r] و A[q] به بخش یکسانی تعلق دارند اگر و فقط اگر r[i]=q[i] . Г ∀∉، که نماد r[i] بیت ith از نمایش دوتایی r را می دهد.ترجمه مطلوب
از ادعاهای قبلی، می توانیم اندازه هر پارتیشن را به صورت تابعی از Г بازیابی کنیم.
اصل موضوع1. هر بخش توسط 2|Г| آیتم تشکیل شده است.
تصحیح. با القا روی طول Г. زمانی که =1|Г| است، یک آیتم تنها با یک آیتم دیگر توسط ادعای 1 مقایسه شده است. بنابراین هر بخش، از دو آیتم تشکیل شده است. برای مرحله القا، اجازه دهید تا مرحله بعد را در فوق مرحله در نظر بگیریم. هر یک از آیتم های قبلی ، به دلیل مقادیر جدید c، که به گردش یک موقعیت بیت جدید دلالت می کنند، با یک جزئی که هنوز رخ نداده مقایسه شده است. از آنجا که هر آیتم جفت جدیدی برای مقایسه تشکیل می دهد، تعداد آیتم های شامل در بخش دو برابر ، یعنی
2 |Г|= 2|Г|+1 2 می باشد.
به طور خلاصه، برای فهم اینکه چه تعداد مرحله می تواند در اجرای یک بخش گنجانده شود، باید بشماریم چه تعداد مقادیر مجزای متغیر c می تواند فرض شود. اول از همه، با عبارت مرحله (step) به مقایسه انجام شده در حلقه خط 4 الگوریتم 1 اشاره می کنیم. بعلاوه، اجازه دهید که c و s متغیرهای ویژه در الگوریتم 1 باشند، نماد steps̄,c̄ مراحل انجام شده زمانی که c=c̄ و s=s̄ است را نشان می دهد. در هر مرحله، نمایه های دو آیتم موجود در عملیات مقایسه ای به عنوان تابعی از متغیر c بیان شده است.
ادعای 1. در یک steps,c دو جزء مقایسه شده اند، اگر و فقط اگر، نمایش دوتایی نمایه های مرتبط آنها فقط با بیت cth فرق کند.
تصحیح. با تعریف بیتی ⊕ عملیات r ⊕ 2c، استناد شده در خط 5، به گردش (flipping) بیت cth از r در نمایش دوگانه آن مربوط می شود.ترجمه دانشجویی
ادعای فوق شرطی برای اجزای آرایه A موجود در هر مقایسه یک مرحله می دهد. با توجه به جزء A[r] در موقعیت r ، این با موقعیتی که با تثبیت تمامی بیتها در نمایش دوتایی r به دست آمده مقایسه شده اما در عوض، cth خنثی شده است. هدف قبلی می تواند بسط داده شود برای تعریف آنچه که بیتها گردش می کنند تا مقایسه های صورت گرفته در تعداد معمول مراحل متوالی یعنی k را اجرا نمایند، فوق مرحله k نامیده شد. این تعریف، مستقیما از الگوریتم 1 تبعیت می کند، و به دو مورد تقسیم شده است، به ویژه برای
s k وs k .
تعریف 1. (توالی –Г) مطابق فوق مرحله k که در steps,c با s k 1 شروع می شود، توالی Г موقعیت های بیت که الگوریتم 1 گردش(flip) می نماید، وفتی که مقایسه ها را انجام دهد به صورت زیر تعریف شده است:
توالی به طور اساسی از شمارش مقادیر متفاوت به دست آمده توسط c در فوق مرحله –k در نظرگرفته شده، تشکیل شده است. قابل توجه است که مقادیر اختصاص یافته به c در مرحله k متمایز هستند به دلیل شرط اولیه ی s k. اکنون، اجازه دهید تا رفتار الگوریتم زمانی که k s است را در نظر بگیریم. خصوصا، اجازه دهید تا تعریف Г را به مراحل step1,0 به stepk,0 محدود کنیم. از آنجا که c از بالا توسط k s محدود شده است، برای هر مرحله در نظر گرفته شده، c می تواند تنها مقادیر در محدوده (k,0) را در بر گیرد. توجه کنید که در این مورد، تعداد مراحل پوشش یافته توسط flipping موقعیتهای بیت موجود در دنباله 1/2k (k+1) به جای k می باشد.
در ادامه، به منظور حفظ ارتباطات overhead تا حد امکان کوچک، اهداف ما عبارتند از: i) مینیمم کردن تعداد ارتباطات بین حافظه چیپ خاموش و چیپ روشن. ii) ماکزیمم کردن پهنای باند با چنین ارتباطاتی که صورت گرفته است. به طور جالب، نسخه زنجیره ای الگوریتم شبکه پیوسته، یک الگوی ساخته شده از مقایسه تکراری را نمایش می دهد. به نظر می رسد که سپس این مجموعه هسته عملیات می تواند به صورت بهینه دوباره سازماندهی شود تا به دو هدف ذکر شده فوق برسد.
اجازه دهید تا شرح دهیم چگونه هرشبکه مرتب سازی پیوسته معمول، برای یک آرایه A از آیتم های n=2i طراحی شده است، که با i ϵ N+ ، می تواند در مدل k تحقق یابد.
برای دوری از هر گونه همگام سازی، ما n آیتم را به روشی بخش بندی کردیم که هر بخش تمامی آیتم ها را در بر میگیرد تا برخی مراحل را انجام دهد بدون اینکه به آیتم های بخش های دیگر دسترسی داشته باشد. از آنجا که آیتم های مرتبط با هر جزء جریان باید به طور موقت در حافظه چیپ-روشن ذخیره شوند، تعداد آیتم های هر بخش، با اندازه چنین حافظه ای محدود شده است. در ادامه ما ارتباط بین تعداد آیتم ها ی هر بخش و تعداد مراحلی که هر هسته می تواند انجام دهد نشان دادیم. این ارتباط از تحلیل های الگوریتم 1 حاصل می شود.
ما در راه حل خود، بخش های متفاوتی بسته به هر مرحله از BSNی که هستیم، تعریف کرده ایم. هر بخش بندی جریان متفاوتی را القا می کند. هر جریان، به نوبه خود، نیاز دارد تا با هسته ویژه ای محاسبه شود که به طور موثر ویژگی های هر پردازشگر جریان را استخراج می نماید.
شکل 3- نمونه ای از رویه هسته مقایسه کننده ی مراحل زیادی از یک BSN. زیرمجموعه آیتم های تشکیل دهنده هر جزء باید تنها در داخل خودش مقایسه انجام دهد.
شکل 4- با افزایش تعداد مراحل پوشش یافته با پارتیشن، تعداد آیتم های موجود دو برابر می شود. AوB ،و C ، به ترتیب بخش هایی برای حافظه محلی از موقعیتهای 2 و 4و 8 هستند.ترجمه دانشجویی
از آنجا که هر احضار هسته به فاز ارتباطات دلالت می کند، چنین ترسیمی باید به منظور کاهش ارتباط overhead (بالاسری) انجام گیرد. خصوصا، این overhead هر زمان که یک پردازشگر، اجرای یک جزء جریان را شروع می کند یا پایان می دهد، تولید می شود. در این موارد، پردازشگر نیاز دارد تا نتایج محاسبات قبلی ذخیره شده در حافظه محلی را خالی نماید و سپس داده جدید از حافظه چیپ-خاموش بگیرد. با احتساب قانون مدل k، بسته به الگوی استفاده شده برای دسترسی به حافظه چیپ، تاخیر چنین انتقالی می تواند به k بار انتقال در یک افزایش، تا مرتبه ای از بزرگی افزایش یابد زمانی که در یک معماری واقعی اندازه گیری می شود.ترجمه ارزان
– شبکه مرتب سازی پیوسته مبتنی بر مدل k
شبکه مرتب سازی یک مدل ریاضی الگوریتم مرتب سازی می باشد، که از شبکه ای از سیم ها و مدول های مقایسه کننده ساخته شده است. توالی مقایسه ها به مرتبه ای که با آن داده نمایش داده می شود، بستگی ندارد. منظم بودن طرح استفاده شده در مقایسه اجزا برای مرتب سازی، این نوع از شبکه مرتب سازی را به ویژه برای بخش بندی اجزا در سبک برنامه نویسی جریان مناسب ساخته است، همانطور که مدل k نیاز دارد.
به ویژه، BSN ، مبتنی بر ادغام تکراری دو توالی پیوسته می باشد، تا توالی پیوسته بزرگتری ایجاد نماید. در هر توالی پیوسته، عملیات تقسیم پیوسته انجام می شود. بعد ازعملیات تقسیم، زنجیر ورودی به دو زنجیره پیوسته تقسیم شده است، طوری که همه اجزای زنجیره اول از تمامی اجزای زنجیره دوم کوچکتر هستند. هر آیتم در نیمه اول زنجیره، و آیتم ها در موقعیت مشابه نیمه دوم، مقایسه شده و در صورت نیاز مبادله می شوند. زنجیره کوتاه پیوسته، با اعمال بازگشتی یک عملیات ادغام دوتایی به توالی پیوسته مورد نظر، به دست آمده اند.
شکل 1-a) ساختار BSN با سایز n=8. با) bm( شبکه ادغام پیوسته با اندازه x مشخص کردیم. پیکان ها توالی مرتبه یکنواخت را نشان می دهند. B) ساختار پروانه ای شبکه ادغام با سایز n=4.
شکل 2- نمونه ای از BSN برای 16 عنصر. هر مقایسه با یک خط عمودی نشان داده شده که دو جزء را به هم متصل می کند، مه با خط افقی نشان داده شده اند. هر مرحله از فرآیند مرتب سازی زمانی مرتب می شود که تمامی مقایسه ها محاسبه شده باشند.
بازگشت پایان یافته و زنجیره مرتب می شود، زمانی که ورودی عملیات ادغام به زنجیر یگانه کاهش می یابد. شکل 1 ، مراحل مختلف شرح داده شده فوق را به صورت گرافیکی نشان می دهد.
کد مشابه الگوریتم زنجیره ای BSN در الگوریتم 1 نشان داده شده است، در عوض ، شکل 2 یک نمونه فن در 16 BSN را نشان می هد.
برای مرتب سازی الگوریتم مرتب سازی خود در مدل برنامه ریزی جریان، از فرمولاسیون BSN موازی اصلی آغاز کردیم، و آن را مطابق راهنمای مدل K بسط دادیم. به خصوص، جنبه اصلی که باید در نظر گرفته شود مشخص کردن طرح موثر برای آیتم های نقشه برداری در اجزای جریان می باشد. چنین نقشه برداری باید به منظور انجام تمامی مقایسه های موجود در BSN در یک هسته انجام گیرد. ساختار شبکه، و محدودیت مدل برنامه نویسی، در واقع، اجازه نمی دهد تا تمامی محاسبات در یک هسته انجام شود. در ابتدا، تعداد اجزای پردازش توسط مرحله ادغام دائما افزایش می یابد (همانطور که در شکل 1 نشان داده شده است). به عبارت دیگر، به دلیل عدم قابلیت پیش بینی مرتبه اجرای آنها، مدل برنامه نویسی جریان به اجزای جریان نیاز دارد تا به طور مستقل قابل محاسبه باشد. به عبارت دیگر، هر آیتم در یک جزء جریان گنجانده شده است، شکل 3 را ببینید. مطابق این محدودیت ها، مجموعه ای از آیتم ها باید به بخش های کمتر اما بزرگتر بخش بندی شود (. به طور متوالی ترسیم شود) . (شکل4). به عنوان مثال، با توجه به مرحله پایانی ادغام BSN تمامی آیتم ها باید در یک بخش واحد ترسیم شوند. این به طور واضح غیر مجاز است، وقتی که محدودیت های معماری تعداد آیتم هایی که می توانند به طور محلی ذخیره شوند را محدود می نماید( به عبارتی اندازه یک جزء جریان). خصوصا در مدل K، چنین محدودیتی توسط پارامتر σ ثابت شده است، به عبارتی مقدار حافظه در دسترس برای هر جزء جریان.
مدل k، از یک کامپیوتر با یک آرایه از واحد اجرایی عددی k تشکیل شده که به واحد اجرایی تنها متصل است. سلسله حافظه از یک حافظه خارجی تشکیل شده و یک حافظه محلی از یک مجموعه از ثبتهای خصوصی ساخته شده و حافظه مشترک موقعیتهای σ به طور مساوی به مدولهای موازی k تقسیم شده است.
مطابق مدل k، هر هسته الگوریتم، با اندازه گیری پیچیدگی زمان ، پیچیدگی محاسباتی و تعداد تراکنش های حافظه مربوط به محاسبات اجزای جریان آن، ارزیابی شده است. برای محاسبه پیچیدگی الگوریتم کلی، سه پیچیدگی به طور مجزا مدیریت شده اند و پیچیدگی هر هسته با ضرب کردن پیچیدگی یک جزء جریان در تعداد کل اجزاء جریان به دست آمده است.
پیچیدگی زمان به صورت مجموع تاخیرات هر دستورالعمل اجرای الگوریتم تعریف شده است. این می تواند به صورت پیچیدگی موازی الگوریتم با فرض مجموعه ای از پردازشگرهای اسکالر k در نظر گرفته شود. مدل k، تاخیر یک دستورالعمل دسترسی اطلاعات، متناسب با سطح اتصالی که تولید می کند را ارزیابی می نماید. هنگامی که یک دستورالعمل ، موقعیت یک حافظه مشترک بدون تضاد بانکی یا ثبت نام بیان می کند، تاخیر دستورالعمل 1 می باشد. به عبارتی، تاخیر دستورالعمل دسترسی اطلاعات مربوط به تعداد زیادی از تقاضاها ، یک بانک حافظه k را شامل می شود. با توجه به دستورالعمل های محاسبات ریاضی ، تاخیر آنها هزینه واحد دارد.
پیچیدگی محاسباتی به صورت پیچیدگی توالی کلاسیک تعریف شده با این فرض که ما در حال شبیه سازی اجرای الگوریتم در یک سریال RAM هستیم. اگر نتایج به دست آمده با تقسیم پیچیدگی محاسباتی به پیچیدگی زمان ، نزدیک به K باشد، به این معنی است که اکثر اجزای محاسباتی K به طور همزمان کار می کنند، و الگوریتم طراحی شده کارآمد می باشد.
برای ارزیابی تعداد تراکنش های حافظه، نیاز داریم تا انتقال داده از/به حافظه چیپ خاموش را حساب کنیم. برای کمینه کردن این مقدار، دسترسی حافظه چیپ-خاموش به یک تراکنش حافظه منحصر به فرد آمیخته می شود. به عبارت دیگر دسترسی محدود گردیده تا به موقعیت های موجود در قطعه هم سایز K برای هر تراکنش حافظه اشاره نماید.
-جنبه های کلیدی طراحی برنامه چند هسته ای
GPU در اصل طراحی شده تا تبدیلات هندسی را اجرا نماید که جریانی از داده های پیکسل برای نمایش تولید می کند.
در حالت کلی، یک برنامه توسط GPU با گرفتن ورودی جریانی از اطلاعات پردازش شده است تا در بین رشته های مختلف اجرا شونده در پردازشگرهای SIMD متعدد توزیع شود. هر رشته سهم خود از جریان داده را پردازش می کند، نتایج را تولید می کند و آنها را دوباره در حافظه اصلی می نویسد.
4-1- ماشین های SIMD ، که به عنوان ماشینهای پردازنده آرایه شناخته می شوند، اساسا از یک آرایه واحدهای اجرایی (EUها( تشکیل شده اند، با یک شبکه به یکدیگر متصل هستند. این آرایه پردازشگر، به پردازشگر کنترل متصل شده است، که مسئول آوردن و تفسیر دستورالعملها می باشد. پردازشگر کنترل محاسبات ریاضی و دستورالعملهای پردازش داده را به آرایه ی پردازشگر ارسال می کند و همه جریان کنترل یا محاسبات زنجیره ای را که نمی توانند همسو شوند، مدیریت می کند. بنابراین، واحد اجرا می تواند به طور جداگانه غیر فعال گردد تا به شاخه های مشروط اجازه دهد تا اجرا شوند. گرچه ماشین های SIMD برای طبقه ویژه ای از مشکلات بسیار کارا هستند، معماری آن خصوصا برای کارهای محاسباتی فشرده مناسب است. به همین دلیل معمولا روی دسته ویژه ای از مسائل کاملا انعطاف پذیر هستند.
4-2- مدل برنامه نویسی جریان
یک برنامه جریان، داده ها را به صورت جریان سازماندهی می کند و تمامی محاسبات را به صورت هسته بیان می کند. یک جریان، توالی عناصر داده هموژن می باشد، که با الگوی دسترسی منظم تعریف شده است. یک هسته معمولا از طریق همه اجزای ورودی جریان دور می زند، زنجیره ای از عملیات را روی هر جز اجرا می کند، و نتایج را به جریان خروجی اضافه می کند.
معمولا این عملیات باید با یک روش مرتب شوند تا مقدار دستورالعملهای همسو اجرا شده توسط عملیات را افزایش دهند، بعلاوه آنها نباید به موقعیت های دلخواه حافظه دسترسی یابند. اگر همه دستورالعمل های فوق رضایتبخش باشند، هر جزء جریان ورودی می تواند به طور همزمان پردازش شود که به هسته اجازه می دهد تا مقدار زیادی از تقارن داده ها را نشان دهد. تقارن وظیفه، در عوض، می تواند با اجازه دادن به هسته ها برای دسترسی همرمان اجزا از جریان به دست آید، این امر به شرطی می تواند انجام شود که اجزا به طور مناسب در حافظه اصلی مرتب شده باشند، تا دسترسی همزمان به نواحی هم پوشانی کننده حافظه را غیر ممکن سازد.بعلاوه، سایر ویژگی های مهم به اشتراک گذاشته شده توسط برنامه های موثر مبتنی بر جریان عبارتند از: اجزا یکبار از حافظه خوانده و محاسبه می شوند، و برنامه ها تعداد زیادی از عملیات ریاضی را به ازای هر رفرنس حافظه انجام می دهند، به عبارتی برنامه ها محاسبه-فشرده هستند.
4-3- مدل k: مدل محاسباتی چندهسته ای مبتنی بر جریان
مدل k، طراحی شده تا تمامی ویژگی های اصلی نسل جدید مولتی پروسسور های جریان را مدل سازی نماید. ارائه دقیق مدل k، هدف اصلی این مقاله نیست. در عوض، ویژگی های اصلی که نیاز داریم تا شیوه های خود را بفهمیم، بحث کنیم و مقایسه نماییم، به طور خلاصه گزارش کرده ایم.
) نشان دادند که GPU-Quicksort یک جایگزین مرتب سازی پایدار است. الگوریتم به صورت بازگشتی توالی را بخش بندی می کند تا با توجه به عنصر اصلی مرتب شود. این به صورت موازی با هر رشته GPU انجام می شود تا وقتی که تمامی توالی مرتب شده باشند. در تکرار هر بخش، یک مقدار جدید عنصر برداشته شده و به عنوان نتیجه دو توالی جدیدی که ایجاد شده اند، می تواند مستقل از هر بلوکه رشته مرتب شود. ارزیابی تجربی صورت گرفته به برتری GPU-Quicksort نسبت به الکوریتم های مرتب سازی مبتنی بر GPU اشاره می کند.ترجمه دانشجویی
اخیرا، Sesgupta و همکاران (2007) اجرای Radixsort و Quicksort ، مبتنی براصول اولیه اسکن بخش بندی شده، ارائه دادند. نویسندگان روش های جدیدی برای اجرای چندین برنامه کلاسیک با استفاده از این اصول اولیه ارائه داده اند، و نشان دادند که این اصول، برای مجموعه ی وسیعی از مشکلات در سخت افزارهای موازی، مطابقت خوبی دارند.
3-نرم افزارهای فهرست بندی اطلاعات
برنامه های بزرگ مقیاس و توزیع شده در بازیابی اطلاعات مانند crawling، فهرست بندی و پردازشگر پرس و جو (query) مجبورند تا قدرت محاسباتی معماری های محاسبه کننده نوین را استخراج نمایند تا همراه با رشد نمایی در محتوای وب حفظ شوند. در این مقاله، ما توجه خود را روی فاز هسته یکی اجزای اصلی موتور جستجوی بزرگ مقیاس متمرکز کرده ایم: نمایه ساز. در فاز نمایه سازی، هر سند crawled، به یک مجموعه از تکرار کلمات تبدیل می شود که hit نامیده می شوند. برای هر کلمه hit ها موارد مانند فرکانس، موقعیت در سند، و سایر اطلاعات را ثبت می کنند. نمایه سازی، سپس، می تواند به عنوان برنامه “مرتب سازی” در مجموعه ای از رکوردهای نشان دهنده ی تکرار عبارات در نظر گرفته شوند. رکوردها تکرار مجزایی از هر عبارت در هر سند مجزا نشان می دهند. مرتب سازی موثر این رکوردها با استفاده از تعادل خوب بهره برداری حافظه و دیسک، بسیار چالش برانگیز است. در سال های گذشته، نشان داده شده که روش های مبتنی بر مرتب سازی یا الگوریتم های یک مسیری، در سناریوهای متعدد موثر بوده اند، و به ویژه جایی که فهرست بندی مقادیر زیادی از اطلاعات با منابع محدود انجام شده است. روش مبتنی بر مرتب سازی، ابتدا از سراسر مجموعه مونتاژ تمامی جفت های termID-DocID گذر می کند. سپس، جفت ها را با termID به عنوان کلید اولیه و docID به عنوان کلید ثانویه مرتب می کند. نهایتا، docID ها را برای هر termID به سمت لیست های در حال ارسال سازماندهی می کند. ( همچنین آمارهایی مانند فرکانس های عبارت (term) و سند محاسبه می کند). برای مجموعه های کوچک، تمامی این ها می تواند در حافظه انجام شود. زمانی که حافظه کافی نباشد، ما دوباره دسته بندی می کنیم تا از الگوریتم مرتب سازی اضافی استفاده کنیم. نیاز اصلی چنین الگوریتم هایی مینیمم کردن تعداد دیسک های تصادفی جستجو در طی مرتب سازی می باشد. یک روش احتمالی نمایه سازی مبتنی بر مرتب سازی بلوکه می باشد (BSBI) . BSBI با قطعه بندی یک محموعه به بخش هایی با اندازه برابر عمل می کند، سپس جفت های termID-docID هر بخش را در حافظه مرتب می کند، نهایتا نتایج مرتب شده حدواسط را در دیسک ذخیره می کند. زمانی که همه قطعه ها ذخیره شدند، تمامی نتایج حدواسط را در فهرست نهایی ادغام می کند. یک جایگزین بسیار مقیاس پذیر single-pass در نمایه سازی حافظه (SPIMI) می باشد. SPIMI از عبارتها به جای termID استفاده می کند، دیکشنری هر بلوک را در دیسک می نویسد، و سپس یک دیکشنری جدید برای بلوک بعدی آغاز می کند. SPIMI می تواند مجموعه هایی با هر سایز را فهرست بندی نماید، تا زمانی که فضای دیسک کافی در دسترس باشد. الگوریتم سندها را تجزیه می کند و آنها را به جریانی از جفت های term-docID تبدیل می کند که token نامیده می شود. Token ها سپس یک به یک پردازش می شوند. برای هر token، SPIMI یک ارسال مستقیم به لیست ارسال اضافه می کند. متفاوت از BSBI وقتی که همه جفت های termID-docID ها جمع آوری و سپس مرتب شدند، در SPIMI هر لیست ارسال به طور دینامیک رشد می کند. به این معنی که سایز آن ، همانطور که رشد می کند، تنظیم می گردد. این ویژگی دو فایده دارد: سریعتر است، زیرا در اینجا نیازی به مرتب سازی نیست، و حافظه را ذخیره می کند زیرا مسیر عبارتی را که لیست ارسال به آن تعلق دارد حفظ می کند، بنابراین tremID های ارسالی نیازی به ذخیره شدن ندارند. زمانی که حافظه تمام می شود، SPIMI فهرست بلوک را در دیسک می نویسد (که از دیکشنری و لیست ارسال تشکیل شده است). قبل از انجام این، SPIMI عبارات را مرتب می کند تا مرحله ادغام نهایی را تسهیل نماید:ترجمه ارزان اگر هر بلوک لیست ارسال به صورت نامرتب نوشته شده باشد، بلوک های ادغامی نمی توانند با یک اسکن خطی ساده در سراسر هر بلوک انجام شوند. مرحله بعدی SPIMI ادغام بلوکها به فهرست نهایی معکوس می باشد. SPIMI ، که به دلیل عدم نیاز به مرتب سازی tokenها پیچیدگی زمانی کمتری دارد، معمولا نسبت به BSBI ترجیح داده می شود. در مجموع، در هر دو روش نمایه سازی، ذکر می کنیم که مرتب سازی یک مرحله هسته ای است: BSBI جفت های termID-docID تمامی جفت ها را در حافظه مرتب می کند، SPIMI عبارات را مرتب می کند تا مرحله ادغام نهایی را تسهیل نماید.
در (Kipfer, Segal,& Westermann , 2004-2005) یک نسخه پیشرفته مرتب سازی پیوسته مانند مرتب سازی ادغام زوج-فرد نشان داده شده است. آنها یک مرتب سازی پیوسته روتین ارائه دادند که با مینیمم کردن تعداد ساختار های اجرا شده در برنامه قطعه و تعداد عملیات الگو، به افزایش کارایی دست یافتند.ترجمه مقاله
Greb and Zachmann(2006) بر اساس مرتب سازی پیوسته سازگار، روشی برای مرتب سازی موازی در معماری های پردازشگر جریان نشان دادند. آنها اجرایی بر اساس سخت افزارهای گرافیکی برنامه ریزی مدرن ارائه دادند که نشان می داد روش آنها نه تنها از دیدگاه تئوری، بلکه همچنین از دید عملی با الگوریتم های مرتب سازی متوالی رایج در رقابت است. نتایج خوبی با استفاده از دسترسی های حافظه جریان خطی کارآمد و با ترکیب کردن زمان بهینه روش با الگوریتم ها به دست آمده اند.ترجمه ارزان
Govindaraju, Raghuvanashi and Moanocha(2005) مرتب سازی را به عنوان جزء محاسباتی اصلی برای تخمین هیستوگرام خود استفاده کردند. این راه حل، مبتنی بر تعادل دوره ای روش شبکه مرتب سازی ارائه شده توسط Dowd,Perl, Rudolph and Saks می باشد. به منظور دست یابی به عملکرد محاسباتی بالا در GPU ها، آنها از یک شبکه مرتب سازی بر اساس الگوریتم استفاده کردند، و هر مرحله با استفاده از rasterization محاسبه شده است. بعدا، آنها یک مرتب سازی ترکیبی پیوسته-radix ارائه دادند که قادر است تا مقادیر بزرگی از اطلاعات را مرتب نماید، که GPU era sort نامیده شد. این الگوریتم پیشنهاد شده بود تا رکورد موجود در پایگاه داده را با استفاده از GPU مرتب نماید. این روش از تطابق داده و وظیفه استفاده می کند تا وظایف فشرده سازی حافظه و فشرده سازی محاسبه در GPU را انحلم دهد، در حالی که CPU، استفاده شده تا I/O و مدیریت منابع را انجام دهد.ترجمه دانشجویی
این مقاله به صورت زیر سازمان یافته است. بخش 2 در مورد کارهای مرتبط بحث می کند. بخش 3 برخی ویژگی های آشکار در مورد قابلیت کاربرد مرتب سازی بر اساس GPU را در موتورهای جستجوی وب معرفی می کند. بخش 4 برخی مسائل ناشی از مدل برنامه ریزی رویه (stream) و معماری ساختار ساده داده های-متعدد (SIMD) نشان می دهد. بخش 5 توابع جدید برای ترسیم BSN روی GPU پیشنهادی ما را شرح می دهد. بخش 6 و 7 نتایج به دست آمده از آزمایش راه حل های مختلف در مجموعه داده های سنتزی و واقعی را نشان می دهند. بخش 8 نتایج و بحث های را نشان می دهد که چگونه در این تحقیق تکامل یافته اند.
2-کارهای مرتبط
در گذشته، نویسندگان زیادی شبکه های مرتب سازی پیوسته در GPU ها را ارائه دادند ( به عنوان مثال Govindaraju, Gray, Kumar & Manocha) اما سخت افزارهایی که آنها استفاده کردند به نسل های قبلی GPU ها تعلق داشتند، که سطح مشابه از برنامه ریزی انواع فعلی ارائه نمی داد.
از آنجایی که بسیاری از الگوریتم های مرتب سازی دارای حافظه محدود هستند، هنوز برای طراحی روش های مرتب سازی کارا در GPUها چالش وجود دارد. Purcell, Donner, Cammarano, Jensen , and Hanrahan (2003) اجرایی از مرتب سازی پیوسته ادغام شده در GPU ها مبتنی بر ایده اصلی ارائه شده توسط kapasi و همکاران نشان دادند. نویسندگان روش خود را بکار گرفتند تا فتونها را در ساختار داده فضایی فراهم کننده مکانیسم جستجوی کارا، برای GPU های مبتنی بر نقشه برداری فتون مرتب سازند. مراحل مقایسه ای به طور کامل در واحد های بخش(fragmen) شامل عملیات ریاضی، منطق و الگو تحقق یافته است. نویسندگان اجرای خود را به صورت محاسبه محدود به جای پهنای باند محدود گزارش کرده اند و آنها به خروجی بسیار پایین تر از بهینه نظری معماری هدف دست یافتند.
در طی تحقیق، ما یک تابع جدید مطالعه کردیم تا شبکه مرتب سازی پیوسته (BSN) در GPU استخراج کننده رابط حافظه پهنای باند ترسیم کنیم. همچنین ما این الگوی پارتیشن بندی اطلاعات را نشان دادیم که بهره برداری GPU را بهبود می بخشد و پهنای باند را که با آن، داده بین دو حافظه چیپ-روشن و چیپ-خاموش منتقل شده است، بیشینه می کند. جالب توجه است که با وجود مرتب سازی در جا در شبکه های پیوسته، نسبت به انواع غیر درجا، راه حل ما از حافظه کمتری استفاده می کند. و به مجموعه داده های بزرگ اجازه می دهد تا پردازش شوند. پیچیدگی فضایی به هنگام مرتب سازی حجم عظیمی از داده ها، یکی از جنبه های مهم است، همانطور که توسط سیستم های توزیع شده بزرگ مقیاس برای بازیابی اطلاعات مورد نیاز است. (LSDS-IR) .ترجمه تخصصی
برای طراحی الگوریتم مرتب سازی در مدل برنامه ریزی پیوسته، ما از روش عمومی BSNاستفاده کردیم و آنرا بسط دادیم تا با هدف معماری ما سازگار شود. مرتب سازی پیوسته (bitonic) یکی از شبکه های مرتب سازی سریع می باشد.ترجمه ارزان به موجب بهره برداری عالی آن، مرتب سازی پیوسته یکی از الگوریتم های مرتب سازی اولیه پیشنهاد شده در منابع می باشد. که در بسیاری از برنامه ها استفاده شده است. مثالها استراتژی تقسیم- و – تسخیر استفاده شده در محاسبات تبدیل فوریه سریع، بازیابی اطلاعات وب، و برخی شبکه های چند بخشی می باشند.ترجمه دقیق
سهم اصلی این مقاله به صورت زیر می باشد:ترجمه ارزان
- ما یک ارزیابی دقیق تجربی از تکنیک های مدرن روی مرتب سازی GPU انجام دادیم و آن را روی مجموعه های متفاوت داده ها با اندازه های مختلف مقایسه کردیم و فواید سازگاری راه حلهای مرتب سازی در جا در مجموعه های بزرگ داده نشان دادیم.
با استفاده از محدودیت کارایی یک مدل محاسباتی نوین که به Capannini, Silvestri and Baraglia معرفی کردیم، روشی طراحی کردیم تا کارایی ( تئوری و تجربی) مرتب سازی را با استفاده از شبکه های پروانه ای ( butterfly) بهبود دهیم (مانند مرتب سازی پیوسته). ارزیابی تئوری ما ، و آزمایش های انجام شده، نشان دادند که مطابق راهنمایی روش پیشنهاد شده، کارایی مرتب سازی پیوسته و همچنین عملکرد دیگر الگوریتم ها را بهبود بخشیده است.
ایده ی اصلی در پردازشگرهای مدرن مانند GPUها، Cell/BE سونی، و CPUهای چند هسته ای، به کارگیری چندین هسته پردازشگر (از چند تا چند صد) در یک چیپ تنها می باشد. در CPUهای فعلی یک عمل طراحی رایج، در حالت کلی، اختصاص درصد عظیمی از حوزه چیپ به مکانیسم کش و مدیریت حافظه می باشد. جدا از CPUهای استاندارد، اکثر ناحیه چیپ در چندهسته ای های مدرن به اجرای واحدهای محاسباتی اختصاص یافته است. به همین دلیل، آنها قادرند تا محاسبات ویژه، روی جریان عظیمی از اطلاعات، در کسری از زمان مورد نیاز برای CPUهای سنتی انجام دهند. در مقابل، هر چند، برای برنامه نویس مشکل است که نرم افزارهایی بنویسد که قادر به رسیدن به سطح ماکزیمم کارایی باشد که آنها حمایت می کنند.ترجمه ارزان
در این مقاله، ما از انگیزه مرتب سازی موثر مقدار عظیمی از اطلاعات در GPUهای مدرن منحرف شدیم تا یک راه حل مرتب سازی نوین پیشنهاد دهیم که قادر به مرتب سازی درجا، در آرایه ای از اعداد صحیح می باشد. در حقیقت، مرتب سازی، یک مشکل هسته در علوم کامپیوتر می باشد، که در طی پنج دهه اخیر به طور وسیعی مورد تحقیق بوده است، هنوز هم در بسیاری از برنامه های شامل حجم بزرگی از اطلاعات به صورت یک تنگنا باقی مانده است. بعلاوه، مرتب سازی، یک بلوکه ساختاری برای سیستم های توزیع شده بزرگ مقیاس برای IR تشکیل می دهد. اول از همه، همانطور که در بخش 3 نشان دادیم، مرتب سازی، عملیات پایه برای فهرست سازی می باشد. بنابراین، فهرست بندی بزرگ مقیاس، به مرتب سازی مقیاس پذیر نیاز دارد. دوما، تکنیکی که ما در اینجا معرفی کرده ایم برای سیستم های توزیع شده برای IR مناسب می باشد همانطور که طوری طراحی شده تا روی GPUهایی اجرا شود که به عنوان بلوکه ساختاری پایه برای نسل آینده مرکز داده ها در نظر گرفته شده اند. شبکه مرتب سازی پیوسته می تواند به عنوان جایگزین پایدار برای مرتب سازی مقدار زیادی از اطلاعات در GPUها مشاهده شود.ترجمه دانشجویی
مقدمه
با توجه به تقاضای قدرت محاسبه انبوه در نرم افزارهای بازی های ویدئویی مدرن، GPUها (مانند Cell/BE) طراحی شده اند تا در ارائه مجموعه داده های بزرگ گرافیک، فوق العاده سریع باشند. (به عنوان مثال پلیگون ها و پیکسل ها). در واقع، با الهام از نسبت جذاب کارایی/هزینه، مطالعات متعددی، این نوع پردازشگرها را برای انجام اطلاعات فشرده و اهداف عمومی اتخاذ کرده اند. برای برخی مشکلات، مانند بازیابی اطلاعات وب، نتایج به دست آمده، در مدت تاخیر محاسباتی، آنهایی که با استفاده از پردازشگرهای کلاسیک به دست آمده اند عملکرد بهتری دارند. اخیرا، با هدف توسعه مدل های برنامه ریزی پایه مانند Map-Reduce تلاش هایی انجام شده است. به عنوان مثال، Bingsheng, Wenbin,Qiong, Naga, and Tuyong (2008) ، Mars ، یک چارچوب Map-Reducer را در پردازنده های گرافیکی طراحی کرده اند و Kruijf and Sankaralingam (2007) اجرایی از Map-Rducer برای معماری cell ارائه داده اند.ترجمه دانشجویی
مرتب سازی در GPU ها برای مجموعه داده های بزرگ مقیاس: مقایسه کامل
گرچه مرتب سازی در بسیاری از کارهای تحقیقاتی مطالعه شده است، هنوز دارای چالش است به ویژه اگر پیامدهای تکنولوژی های پردازشگر نوین مانند چندهسته ای ها را بدانیم (به عبارتی GPUها، Cell/BE، چند هسته ای، و غیره). در این مقاله، الگوریتم های مختلف برای مرتب سازی اعداد صحیح در رویه چندپردازشگری را مقایسه کردیم و دوام انها در مجموعه داده های بزرگ مقیاس را مورد بحث قرار دادیم( مانند آنهایی که با موتور جستجو مدیریت شدند).ترجمه مقاله به منظور بهره برداری کامل از توانایی معماری زمینه، ما یک نسخه بهینه از شبکه مرتب کننده در مدل-k طراحی کردیم، مدل محاسباتی نوین که برای لحاظ نمودن تمامی ویژگی های مهم معماری چند هسته ای طراحی شده است. مطابق مدل-k، نقشه برداری شبکه مرتب سازی پیوسته سه جنبه مهم معماوری های چند هسته ای را بهبود بخشیده است، به عبارت دیگر، بهره برداری پردازشگر، و استفاده از پهنای باند حافظه چیپ روشن/ چیپ خاموش. بعلاوه، ما قادریم تا به یک پیچیدگی فضایی Θ (1) برسیم. به طور تجربی راه حل های خود را با تکنیک های صنعتی( به نام های Quiksort و Radixsort) در GPU ها مقایسه کردیم.ترجمه تخصصی همچنین ما پیچیدگی در مدل –k را برای چنین الگوریتم هایی مقایسه کردیم. ارزیابی صورت گرفته تاکید کرد که شبکه مرتب سازی پیوسته ما از Quiksort سریعتر و از radix کندتر است، هنوز به عنوان یک راه حل درجا، نسبت به دو الگوریتم دیگر حافظه کمتری استفاده می کند.
95/3/10 تیم ذوب آهن توانست در ضربات پنالتی استقلال را شکست داده وقهرمان جام حذفی شود.
95/3/9 تیم والیبال ایران توانست در یک بازی سخت ونفس گیر تیم کانادا را شکست دهد.
95/3/9 تیم رئال مادرید در ضربات پنالتی موفق به شکست اتلتیکو مادرید شد تا برای یازدهمین بار قهرمان لیگ قهرمانان اروپا شود.
95/3/3 تیم بارسلونا با نتیجه 2 بر 0 سویا را شکست داد وقهرمان کوپا دل ری شد.
95/2/31 تیم کشتی فرنگی ایران با غلبه بر روسیه قهرمان جام جهانی شیراز شد.
95/2/30 تیم سویا اسپانیا با نتیجه 3 بر 1 تیم لیورپول انگلیس را شکست داد و قهرمان لیگ اروپا شد.
95/2/22 منچستر یونایتد با نتیجه 3 بر 2 از وستهام شکست خورد
95/2/19 ترجمه جدید رمان پاموک به نام جودت بیک وپسرانش توسط سیف الدینی در نمایشگاه کتاب مورد استقبال قرار گرفت.
95/2/18 مهدی تاج رییس فدراسیون فوتبال شد.
95/2/17 jv[li چیست؟ یکی از مشکلات در سرچ این است که بعضی اوقات تبدیل نکردن زبان انگلیسی به فارسی باعث می شود کلمه ترجمه به صورت jv[li نوشته شود.
95/2/17 حمید سوریان توانست سهیمه المپیک را کسب کند.
95/2/17 حمید سوریان برای تنها سهمیه کشتی المپیک امروز در استانبول به میدان می رود.
95/2/13 در لیگ برتر انگلیس لستر سیتی در برابر منچستر یونایتد به تساوی یک بر یک رسید تا قهرمانی در این لیگ به دو هفته پایانی برسد.
95/2/9 دیشب تیم اتلتیکو مادرید با یک گل تیم بایرن مونیخ را شکست داد.
95/2/8 امشب از رقابت های نیمه نهایی جام قهرمانان باشگاه های اروپا تیم های اتلتیکو مادرید و بایرن منیخ به مصاف هم می روند.
95/2/8 تساوی منچستر سیتی و رئال مادرید با نتیجه صفر بر صفر .حالا همه نگاه ها به بازی برگشت در خانه رئال مادرید است.
95/1/31 نواک جوکوویچ بهترین ورزشکار سال جهان شد.
95/1/28 تیم پرسپولیس با نتیجه 4بر2 تیم استقلال را شکست داد .پرسپولیس علاوه بر شکست استقلال در دربی به صدر جدول هم رسید تا برای اولین بار در این فصل در صدر جدول بایستد قابل ذکر است این دربی یکی از بهترین دربی ها بود که 6 گل به همراه داشت.
95/1/25 لیگ قهرمانان اروپا دیشب با دو دیدار به پایان رسید که تیم رئال مادرید با هتریک رونالدو توانست وولسبورگ را شکست دهد ودر بازی دیگر تیم منچستر سیتی با یک گل از سد تیم پاریسن ژرمن گذشت.
95/1/24 در قرعه کشی مقدماتی جام جهانی ایران با کره جنوبی ،ازبکستان،چین،قطر و سوریه همگروه شد.
95/1/24 رانش زمین در آزادراه رشت -قزوین
95/1/23 مسابقات انتخابی تیم ملی کشتی در تاریخ 27 فروردین ساعت 11 شروع می شود.
95/1/23
ترجمه خوب چه ویژگی هایی دارد؟
یک ترجمه خوب باید روان باشد واز دستور زبان به درستی استفاده شود تا متن قابل فهم باشد.نباید ترجمه به بدنه متن اصلی خدشه وارد کند یعنی جوری ترجمه شود که برداشت دیگری از متن صورت گیرد یا به عبارتی دیگر متن مورد نظر، تحریف نشود.
95/1/22 یوونتوس توانست تیم میلان را با نتیجه 2بر 1 شکست دهد.
95/1/22 دیروز تیم بارسلون با یک گل مغلوب رئال سوسیداد شد.
95/1/22 دیروز تیم پرسپولیس با گل کامیابی نیا در وقت های اضافه توانست تیم ملوان را شکست دهد.
95/1/21 تیم پرسپولیس با گل بنگسون در دقیقه 7 از ملوان پیش افتاد.
95/1/21 گرامیداشت سالگرد شهادت آیت الله سید محمد باقر صدر در عراق
95/1/21 اشتون کارتر گفت ایران از جمله 5 چالش امریکا می باشد.
95/1/21 وزیر نفت اعلام کرد طلب ایران از هند حدود 6میلیارد دلار است.
95/1/19 لیگ قهرمانان اروپا با دو دیدار مانده دیشب به پایان رسید که وولسبورگ با دو گل رئال مادرید را شکست داد و بازی تیم ها پاریسن ژرمن ومنچستر سیتی با نتیجه 2بر2 به پایان رسید.
95/1/18 لیگ قهرمانان اروپا با دو دیدار دیشب برگزار شد که بارسلونا با حساب 2بر یک اتلتیکو مادرید را شکست داد وبایرن مونیخ هو توانست با یک گل از سد بنفیکا گذشت.
95/1/17 کشورهای ارمنستان و آذربایجان با هم به توافق رسیدند.
95/1/17 توزیع کارت های اعتباری خرید کالا تا انتهای فروردین ماه
95/1/17 دادستان پاناما اعلام کرد تحقیق از سیاستمداران ومقامات کشورها در ارتباط با اسناد منتشر شده که حاکی از فساد یک موسسه پانامایی است را آغاز کرده است.
95/1/16 عربستان فرود و عبور هواپیمایی ماهان را از حریم هوایی این کشور ممنوع کرد.
95/1/16 خسارات تصادفات رانندگی در کشور هفت درصد تولید ناخالص ملی می باشد
95/1/16 دو کشته وپنج زخمی در انفجاری در کارخانه ای در چین
95/1/15 برد ناباورانه رئال برابر بارسلونا در نیوکمپ
بارسلونا با اینکه بازی را خوب شروع کرد وبا یک گل پیش بود اما در اواخر بازی این رئال بود که بازی را به تساوی کشاند وبا اینکه راموس اخراج شد توانست گل دوم توسط رونالدو را بزند ودر نیوکمپ به پیروزی برسد.
95/1/14 واران در تمرینات رئال آسیب دید و ال کلاسیکو را از دست داد.
95/1/14 ساعت 23 امروز 264امین ال کلاسیکو برگزار می شود.
95/1/14 تیم شطرنج مردان ایران ،مغولستان را شکست داد.
95/1/11 دیروز تیم فوتبال ایران توانست با دو گل سردار آزمون تیم عمان را شکست داده وبا بیست امتیاز به عنوان تیم اول به مرحله بعد صعود کند.
۹۵/۱/۱۰کنگره امریکا در پی کشف یک بسته مشکوک تعطیل شد.
۹۵/۱/۱۰رییس جمهور به همراه هییت های اقتصادی وسیاسی تهران را به مقصد اتریش ترک کرد.
95/1/10 پاکستان بیش از پنج هزار نفر را بعد از انفجار تروریستی بازداشت کرد.
95/1/9 رسانه های افغانستان از شلیک چند موشک به ساختمان مجلس این کشور خبر دادند.
95/1/8 13نفر از هموطنانمان در دو تصادف جداگانه جان خود را از دست دادند.
95/1/8 نخستین مورد از ابتلا به ویروس زیکا در شیلی رویت شد.
95/1/8
برد انگلیس برابر آلمان
تیم انگلیس با اینکه 2 بر0 عقب بود توانست با زدن 3 گل به پیروزی برسد.
95/1/7
دیدار آقای روحانی با فرمانده ارتش پاکستان در اسلام آباد
95/1/7
رییس پلیس راه کشور:از ابتدای سال تا 6 فروردین 230 نفر در تصادفات رانندگی جان خود را از دست دادند که 40درصد به علت واژگونی بوده است