معماری چندپردازنده‌ای تراشه‌ای: روش‌هایی برای بهبود بازده و تاخیر ۲۰۲۲
Chip Multiprocessor Architecture: Techniques to Improve Throughput and Latency 2022

دانلود کتاب معماری چندپردازنده‌ای تراشه‌ای: روش‌هایی برای بهبود بازده و تاخیر ۲۰۲۲ (Chip Multiprocessor Architecture: Techniques to Improve Throughput and Latency 2022) با لینک مستقیم و فرمت pdf (پی دی اف)

نویسنده

Kunle Olukotun, Lance Hammond, James Laudon

voucher-1

۳۰ هزار تومان تخفیف با کد «OFF30» برای اولین خرید

سال انتشار

2022

زبان

English

تعداد صفحه‌ها

145

نوع فایل

pdf

حجم

10.5MB

🏷️ قیمت اصلی: 200,000 تومان بود.قیمت فعلی: 129,000 تومان.

🏷️ قیمت اصلی: ۳۷۸٬۰۰۰ تومان بود. قیمت فعلی: ۲۹۸٬۰۰۰ تومان.

📥 دانلود نسخه‌ی اصلی کتاب به زبان انگلیسی(PDF)
🧠 به همراه ترجمه‌ی فارسی با هوش مصنوعی 🔗 مشاهده جزئیات

پیش‌خرید با تحویل فوری(⚡️) | فایل کتاب حداکثر تا ۳۰ دقیقه(🕒) پس از ثبت سفارش آماده دانلود خواهد بود.

دانلود مستقیم PDF

ارسال فایل به ایمیل

پشتیبانی ۲۴ ساعته

توضیحات

معرفی کتاب معماری چندپردازنده‌ای تراشه‌ای: روش‌هایی برای بهبود بازده و تاخیر ۲۰۲۲

پردازنده‌های چند هسته‌ای – که ریزپردازنده‌های چند هسته‌ای یا به اختصار CMP نیز نامیده می‌شوند – امروزه تنها راه ساخت ریزپردازنده‌های با کارایی بالا به شمار می‌روند و این موضوع دلایل مختلفی دارد. تک‌پردازنده‌های بزرگ دیگر از نظر کارایی قابل ارتقا نیستند، زیرا با استفاده از روش‌های مرسوم صدور دستورالعمل‌های سوپراسکالر، تنها می‌توان مقدار محدودی موازی‌سازی از یک جریان دستورالعمل معمولی استخراج کرد. علاوه بر این، نمی‌توان به سادگی سرعت ساعت پردازنده‌های امروزی را افزایش داد، در غیر این صورت، اتلاف توان در تمام سیستم‌ها به جز سیستم‌های خنک‌شده با آب، بازدارنده خواهد شد. بر این مشکلات، این واقعیت ساده نیز افزوده می‌شود که با وجود تعداد بسیار زیاد ترانزیستورهای موجود در تراشه‌های ریزپردازنده امروزی، طراحی و اشکال‌زدایی پردازنده‌های بزرگ‌تر به طور مداوم در هر یک یا دو سال، بسیار پرهزینه است. CMPها با پر کردن یک قالب پردازنده با هسته‌های پردازنده متعدد و نسبتاً ساده‌تر، به جای فقط یک هسته بزرگ، از بروز این مشکلات جلوگیری می‌کنند. اندازه دقیق هسته‌های یک CMP می‌تواند از خطوط لوله بسیار ساده تا پردازنده‌های سوپراسکالر نسبتاً پیچیده متغیر باشد، اما پس از انتخاب یک هسته، کارایی CMP را می‌توان به راحتی در نسل‌های مختلف فرایندهای سیلیکونی، به سادگی با تکثیر بیشتر نسخه‌های هسته پردازنده پرسرعت و طراحی‌شده، در هر نسل متوالی تراشه، افزایش داد. علاوه بر این، اجرای کد موازی، که از طریق توزیع رشته‌های اجرایی متعدد در سراسر هسته‌های مختلف به دست می‌آید، می‌تواند به کارایی بسیار بالاتری نسبت به حالتی که فقط از یک هسته استفاده شود، دست یابد. در حالی که رشته‌های موازی در حال حاضر در بسیاری از حجم‌های کاری مفید رایج هستند، هنوز حجم‌های کاری مهمی وجود دارند که تقسیم آنها به رشته‌های موازی دشوار است. تأخیر پایین ارتباط بین پردازنده‌ای بین هسته‌ها در یک CMP کمک می‌کند تا دامنه بسیار وسیع‌تری از برنامه‌ها نسبت به چندپردازنده‌های چندتراشه‌ای مرسوم، نامزدهای مناسبی برای اجرای موازی باشند؛ با این وجود، موازی‌سازی محدود در برنامه‌های کلیدی، عامل اصلی محدود کردن پذیرش CMPها در برخی از انواع سیستم‌ها است. این کتاب پس از بحث در مورد مزایا و معایب اساسی CMPها در مقایسه با تک‌پردازنده‌های مرسوم، بررسی می‌کند که چگونه می‌توان CMPها را به بهترین شکل برای رسیدگی به دو نوع حجم کاری کاملاً متفاوت طراحی کرد که احتمالاً با یک CMP استفاده می‌شوند: برنامه‌های کاربردی با توان عملیاتی بالا و بسیار موازی در یک انتهای طیف، و برنامه‌های کاربردی با حساسیت به تأخیر و کمتر موازی در انتهای دیگر. برنامه‌های کاربردی با حساسیت به توان عملیاتی، مانند حجم‌های کاری سرور که تراکنش‌های مستقل زیادی را به طور همزمان مدیریت می‌کنند، نیازمند تعادل دقیق تمام بخش‌های یک CMP هستند که می‌تواند توان عملیاتی را محدود کند، مانند هسته‌های منفرد، حافظه پنهان روی تراشه و رابط‌های حافظه خارج از تراشه. در اینجا چندین مطالعه و سیستم نمونه، مانند Sun Niagara، که به بررسی بده‌بستان‌های ضروری می‌پردازند، ارائه شده است. در مقابل، برنامه‌های کاربردی با حساسیت به تأخیر – بسیاری از برنامه‌های کاربردی دسکتاپ در این دسته قرار می‌گیرند – نیازمند تمرکز بر کاهش تأخیر ارتباط بین هسته‌ای و به کارگیری تکنیک‌هایی برای کمک به برنامه‌نویسان برای تقسیم برنامه‌های خود به رشته‌های متعدد تا حد امکان آسان هستند. این کتاب در مورد بسیاری از تکنیک‌هایی بحث می‌کند که می‌توان از آنها در CMPها برای ساده‌سازی برنامه‌نویسی موازی استفاده کرد، با تأکید بر مسیرهای تحقیقاتی پیشنهادی در دانشگاه استنفورد. برای نشان دادن مزایای احتمالی با یک CMP با استفاده از چند مثال مشخص، تمرکز ویژه‌ای بر گمانه‌زنی در سطح رشته (TLS)، راهی برای تقسیم خودکار برنامه‌های اسمی متوالی به رشته‌های موازی بر روی یک CMP، و حافظه تراکنشی داده شده است. این مدل می‌تواند برنامه‌نویسی موازی دستی را با استفاده از سخت‌افزار – به جای قفل‌های نرم‌افزاری مرسوم – برای اعمال اجرای کد اتمی بلوک‌های دستورالعمل، تکنیکی که کدنویسی موازی را بسیار کم‌اشتباه‌تر می‌کند، تا حد زیادی ساده کند.

فهرست مطالب: استدلال برای CMPها / بهبود توان عملیاتی / بهبود خودکار تأخیر / بهبود تأخیر با استفاده از برنامه‌نویسی موازی دستی / دنیای چند هسته‌ای: آینده CMPها


فهرست کتاب:

۱. جلد

۲. صفحه حق نشر

۳. صفحه عنوان

۴. فهرست مطالب

۵. استدلال له سی‌ام‌پی‌ها

۶. بهبود بازده

۷. بهبود تاخیر به‌صورت خودکار

۸. بهبود تاخیر با استفاده از برنامه‌نویسی موازی دستی

۹. دنیای چند هسته‌ای: آینده سی‌ام‌پی‌ها

۱۰. زندگینامه نویسنده

 

توضیحات(انگلیسی)

Chip multiprocessors – also called multi-core microprocessors or CMPs for short – are now the only way to build high-performance microprocessors, for a variety of reasons. Large uniprocessors are no longer scaling in performance, because it is only possible to extract a limited amount of parallelism from a typical instruction stream using conventional superscalar instruction issue techniques. In addition, one cannot simply ratchet up the clock speed on today’s processors, or the power dissipation will become prohibitive in all but water-cooled systems. Compounding these problems is the simple fact that with the immense numbers of transistors available on today’s microprocessor chips, it is too costly to design and debug ever-larger processors every year or two. CMPs avoid these problems by filling up a processor die with multiple, relatively simpler processor cores instead of just one huge core. The exact size of a CMP’s cores can vary from very simple pipelines to moderately complex superscalar processors, but once a core has been selected the CMP’s performance can easily scale across silicon process generations simply by stamping down more copies of the hard-to-design, high-speed processor core in each successive chip generation. In addition, parallel code execution, obtained by spreading multiple threads of execution across the various cores, can achieve significantly higher performance than would be possible using only a single core. While parallel threads are already common in many useful workloads, there are still important workloads that are hard to divide into parallel threads. The low inter-processor communication latency between the cores in a CMP helps make a much wider range of applications viable candidates for parallel execution than was possible with conventional, multi-chip multiprocessors; nevertheless, limited parallelism in key applications is the main factor limiting acceptance of CMPs in some types of systems. After a discussion of the basic pros and cons of CMPs when they are compared with conventional uniprocessors, this book examines how CMPs can best be designed to handle two radically different kinds of workloads that are likely to be used with a CMP: highly parallel, throughput-sensitive applications at one end of the spectrum, and less parallel, latency-sensitive applications at the other. Throughput-sensitive applications, such as server workloads that handle many independent transactions at once, require careful balancing of all parts of a CMP that can limit throughput, such as the individual cores, on-chip cache memory, and off-chip memory interfaces. Several studies and example systems, such as the Sun Niagara, that examine the necessary tradeoffs are presented here. In contrast, latency-sensitive applications – many desktop applications fall into this category – require a focus on reducing inter-core communication latency and applying techniques to help programmers divide their programs into multiple threads as easily as possible. This book discusses many techniques that can be used in CMPs to simplify parallel programming, with an emphasis on research directions proposed at Stanford University. To illustrate the advantages possible with a CMP using a couple of solid examples, extra focus is given to thread-level speculation (TLS), a way to automatically break up nominally sequential applications into parallel threads on a CMP, and transactional memory. This model can greatly simplify manual parallel programming by using hardware – instead of conventional software locks – to enforce atomic code execution of blocks of instructions, a technique that makes parallel coding much less error-prone. Contents: The Case for CMPs / Improving Throughput / Improving Latency Automatically / Improving Latency using Manual Parallel Programming / A Multicore World: The Future of CMPs


Table of Contents

1. Cover

2. Copyright Page

3. Title Page

4. Contents

5. The Case for CMPs

6. Improving Throughput

7. Improving Latency Automatically

8. Improving Latency Using Manual Parallel Programming

9. A Multicore World: The Future of CMPs

10. Author Biography

دیگران دریافت کرده‌اند

✨ ضمانت تجربه خوب مطالعه

بازگشت کامل وجه

در صورت مشکل، مبلغ پرداختی بازگردانده می شود.

دانلود پرسرعت

دانلود فایل کتاب با سرعت بالا

ارسال فایل به ایمیل

دانلود مستقیم به همراه ارسال فایل به ایمیل.

پشتیبانی ۲۴ ساعته

با چت آنلاین و پیام‌رسان ها پاسخگو هستیم.

ضمانت کیفیت کتاب

کتاب ها را از منابع معتیر انتخاب می کنیم.