Lập trình song song sử dụng Thread-Level Speculation - Stanford

Luận án tiến sĩ về lập trình song song sử dụng thread-level speculation. Nghiên cứu cải thiện hiệu suất ứng dụng đa luồng, đạt tăng tốc độ 120% trên bộ xử lý đa lõi.

Trường ĐH

stanford university

Chuyên ngành

electrical engineering

Tác giả

Luan An

Thể loại

luận án

Năm xuất bản

Số trang

139

Thời gian đọc

21 phút

Lượt xem

1

Lượt tải

0

Phí lưu trữ

40 Point

Tóm tắt nội dung

I. Thread Level Speculation Trong Lập Trình Song Song

Thread-Level Speculation (TLS) đại diện cho bước đột phá trong lập trình song song hiện đại. Công nghệ này cho phép ứng dụng tuần tự được chia thành các tác vụ độc lập, thực thi song song một cách suy đoán. Phần cứng động tự động kiểm soát phụ thuộc dữ liệu, đảm bảo giao diện thực thi tuần tự. Kỹ thuật TLS mở rộng không gian ứng dụng có thể tận dụng thiết kế đa nhân. Bộ xử lý desktop tiêu dùng đang chuyển sang kiến trúc multi-core khi hiệu suất đơn luồng giảm dần. TLS cung cấp giải pháp hiệu quả cho thách thức này. Lập trình viên tập trung vào hiệu suất thay vì tính đúng đắn nhờ giao diện lập trình tuần tự. Speculative parallelization giúp khai thác song song hóa tự động và thủ công. Nghiên cứu chứng minh TLS đơn giản hóa đáng kể công việc lập trình song song thủ công.

1.1. Khái Niệm Cơ Bản Về TLS

TLS cho phép thực thi song song các đoạn mã có thể phụ thuộc dữ liệu. Phần cứng giám sát và xác minh tính đúng đắn trong thời gian chạy. Khi phát hiện vi phạm phụ thuộc, hệ thống rollback và thực thi lại. Cơ chế này đảm bảo ngữ nghĩa tuần tự được bảo toàn. Song song hóa suy đoán mở ra khả năng song song hóa ứng dụng khó phân tích tĩnh.

1.2. Lợi Ích Của Parallel Programming Với TLS

TLS giảm đáng kể độ phức tạp lập trình song song. Lập trình viên không cần phân tích chi tiết data dependence. Giao diện tuần tự đơn giản hóa quá trình debug và bảo trì. Công nghệ này phù hợp với chip multiprocessor tương lai. Khả năng tự động xử lý phụ thuộc dữ liệu nâng cao năng suất phát triển.

1.3. Ứng Dụng Trong Kiến Trúc Đa Nhân

Thiết kế multi-core hiện đại cần công nghệ như TLS để tối ưu hiệu suất. Bộ xử lý đa nhân yêu cầu phần mềm khai thác song song. TLS cầu nối giữa mã tuần tự và phần cứng song song. Speculative execution tận dụng tài nguyên nhàn rỗi hiệu quả. Multithreading suy đoán phù hợp với xu hướng phát triển phần cứng.

II. Kỹ Thuật Song Song Hóa Suy Đoán Nâng Cao

Luận án trình bày các kỹ thuật song song hóa TLS thủ công tiên tiến. Nghiên cứu bắt đầu với microbenchmark để giới thiệu phương pháp cơ bản. Các kỹ thuật nâng cao tận dụng kiến thức chuyên môn lập trình viên. Chúng vượt qua khả năng của công cụ song song hóa tự động hiện tại. Bảy ứng dụng SPEC CPU2000 được song song hóa thành công. Kết quả cho thấy tăng tốc trung bình 120% trên bốn ứng dụng floating point. Ba ứng dụng integer đạt tăng tốc 70%. Công việc này chỉ yêu cầu khoảng 80 giờ lập trình và 150 dòng mã mỗi ứng dụng. Hiệu suất song song mạnh mẽ với nỗ lực khiêm tốn hỗ trợ tích hợp TLS trong chip multiprocessor.

2.1. Phương Pháp Xác Định Parallelism

Định vị song song là bước đầu quan trọng trong speculative parallelization. Phân tích luồng điều khiển xác định các vùng độc lập tiềm năng. Profiling runtime giúp nhận diện hotspot thực thi. Lập trình viên đánh giá mức độ phụ thuộc dữ liệu giữa các tác vụ. Kỹ thuật này kết hợp phân tích tĩnh và động để tối ưu.

2.2. Biến Đổi Mã Nguồn Cho TLS

Code transformation là yếu tố then chốt đạt hiệu suất cao. Tái cấu trúc mã giảm data dependence giữa các thread. Loop restructuring tăng kích thước tác vụ song song. Data privatization loại bỏ false sharing không cần thiết. Các biến đổi này yêu cầu hiểu sâu về cấu trúc ứng dụng.

2.3. Vượt Qua Rào Cản Song Song Hóa

Nghiên cứu mô tả chi tiết các trở ngại phổ biến trong TLS. Phụ thuộc dữ liệu phức tạp là thách thức chính với integer benchmarks. Kỹ thuật thủ công nâng cao cần thiết để song song hóa hiệu quả. Programmer expertise giúp xác định và giải quyết bottleneck. Hướng dẫn lập trình giúp tạo ứng dụng thân thiện với TLS.

III. Kết Quả Thực Nghiệm Trên SPEC CPU2000

Bảy ứng dụng SPEC CPU2000 được chọn để đánh giá hiệu quả TLS. Nghiên cứu cung cấp mô tả chi tiết quá trình song song hóa từng ứng dụng. Phân tích chỉ ra vị trí và cách thức khai thác parallelism. Các impediment cản trở việc trích xuất song song được xác định rõ ràng. Code transformations cụ thể được áp dụng để vượt qua trở ngại. Ứng dụng floating point đạt tăng tốc ấn tượng 120% trung bình. Integer applications cho kết quả khả quan với 70% tăng tốc. Mỗi ứng dụng yêu cầu khoảng 80 giờ làm việc của lập trình viên. Chỉ cần khoảng 150 dòng non-template code cho mỗi chương trình. Kết quả này chứng minh tính khả thi của manual TLS parallelization.

3.1. Hiệu Suất Floating Point Applications

Bốn ứng dụng floating point cho kết quả vượt trội. Tăng tốc trung bình 120% chứng tỏ tiềm năng lớn của TLS. Ứng dụng này có cấu trúc phù hợp với speculative execution. Data dependence ít phức tạp hơn so với integer benchmarks. Parallel programming với TLS khai thác hiệu quả tính toán số học.

3.2. Thách Thức Với Integer Benchmarks

Ba ứng dụng integer đạt tăng tốc 70% đáng khích lệ. Kết quả này yêu cầu kỹ thuật thủ công nâng cao. Phụ thuộc dữ liệu phức tạp là rào cản chính. Pointer aliasing và indirect addressing gây khó khăn. Advanced manual techniques thiết yếu để song song hóa hiệu quả.

3.3. Phân Tích Chi Phí Phát Triển

Nỗ lực lập trình khiêm tốn với 80 giờ mỗi ứng dụng. Chỉ 150 dòng mã non-template cần thiết cho song song hóa. Tỷ lệ hiệu suất/công sức rất hấp dẫn cho developer. Multithreading suy đoán giảm độ phức tạp so với song song hóa truyền thống. Chi phí thấp hỗ trợ áp dụng rộng rãi TLS.

IV. Hướng Dẫn Lập Trình Cho Hệ Thống TLS

Luận án đưa ra các nguyên tắc lập trình tối ưu cho TLS systems. Phân tích các hindrances phổ biến cản trở song song hóa suy đoán. Programming methods giúp expose parallelism hiệu quả hơn. Hướng dẫn này hỗ trợ uniprocessor programmers chuyển sang TLS. Ứng dụng được thiết kế đúng cách dễ port sang hệ thống TLS tương lai. Các best practices đảm bảo hiệu suất tốt trên phần cứng song song. Nghiên cứu nhấn mạnh tầm quan trọng của data structure design. Tổ chức dữ liệu ảnh hưởng trực tiếp đến khả năng song song hóa. Control flow đơn giản hóa giúp TLS hardware hoạt động hiệu quả hơn. Guidelines này cầu nối giữa lập trình tuần tự và parallel programming.

4.1. Thiết Kế Data Structure Thân Thiện TLS

Cấu trúc dữ liệu ảnh hưởng sâu sắc đến data dependence. Tổ chức dữ liệu tốt giảm false sharing giữa threads. Array-based structures thường tốt hơn linked structures. Locality tốt cải thiện hiệu quả speculative execution. Design pattern phù hợp tăng khả năng song song hóa.

4.2. Tối Ưu Control Flow Cho Speculation

Luồng điều khiển đơn giản giúp TLS hardware dự đoán tốt hơn. Structured programming patterns dễ phân tích và song song hóa. Tránh goto và control flow phức tạp không cần thiết. Predictable branches cải thiện speculation accuracy. Clean code structure hỗ trợ cả compiler và hardware.

4.3. Best Practices Cho TLS Programming

Modularity cao giúp xác định task boundaries rõ ràng. Function encapsulation đơn giản hóa dependency analysis. Minimize global state để giảm inter-thread communication. Explicit data ownership patterns cải thiện performance. Coding guidelines này tạo nền tảng cho ứng dụng TLS hiệu quả.

V. Ưu Điểm Manual TLS Parallel Programming

Lập trình song song TLS thủ công mang lại nhiều lợi ích vượt trội. Giao diện tuần tự đơn giản hóa đáng kể quá trình phát triển. Lập trình viên tập trung vào optimization thay vì correctness. TLS hardware tự động đảm bảo tính đúng đắn của thực thi. Debugging dễ dàng hơn nhờ sequential semantics được bảo toàn. Maintenance code song song đơn giản như code tuần tự. Productivity cao hơn so với parallel programming truyền thống. Speculative parallelization cho phép khai thác parallelism khó phát hiện. Programmer expertise kết hợp với TLS hardware tạo hiệu quả tối đa. Manual techniques vượt qua giới hạn của automated parallelizers hiện tại. Khả năng tương thích ngược với uniprocessor code là lợi thế lớn.

5.1. Tăng Năng Suất Lập Trình Viên

TLS giảm thời gian phát triển ứng dụng song song đáng kể. Sequential programming interface quen thuộc với developers. Không cần học paradigm lập trình mới phức tạp. Testing và debugging đơn giản như sequential code. Multithreading suy đoán tự động xử lý synchronization.

5.2. Hiệu Suất Vượt Trội So Với Automated Tools

Manual parallelization khai thác domain knowledge hiệu quả. Lập trình viên nhận diện parallelism mà compiler bỏ qua. Advanced transformations vượt khả năng công cụ tự động. Optimization cụ thể cho từng ứng dụng đạt kết quả tốt nhất. Kết hợp human insight và TLS hardware tối ưu performance.

5.3. Tương Thích Với Phần Cứng Tương Lai

Code TLS sẵn sàng cho chip multiprocessor thế hệ mới. Ứng dụng dễ dàng scale với số lượng core tăng. Investment trong TLS programming có giá trị dài hạn. Hardware support cho speculation ngày càng phổ biến. Future-proof applications nhờ thiết kế thân thiện TLS.

VI. Hướng Nghiên Cứu Tương Lai Cho TLS

Luận án kết thúc với đề xuất các hướng nghiên cứu tiềm năng. Compiler support cho TLS cần phát triển thêm để tự động hóa tốt hơn. Hardware mechanisms có thể cải thiện để giảm overhead speculation. Programming models mới kết hợp TLS với paradigms khác đáng khám phá. Language extensions giúp express speculation intent rõ ràng hơn. Runtime systems thông minh hơn để adaptive task scheduling. Profiling tools chuyên biệt hỗ trợ TLS optimization. Debugging infrastructure cho speculative execution cần hoàn thiện. Education và training materials để phổ biến TLS programming. Integration với existing parallel frameworks mở rộng applicability. Research areas này hứa hẹn nâng cao hiệu quả và khả năng tiếp cận của TLS.

6.1. Phát Triển Compiler Và Tools

Automated parallelizers cần học từ manual techniques. Compiler heuristics dựa trên programmer patterns hiệu quả. Profiling tools giúp identify speculation opportunities tốt hơn. IDE integration đơn giản hóa TLS development workflow. Tool support là chìa khóa adoption rộng rãi.

6.2. Cải Tiến Phần Cứng TLS

Hardware mechanisms giảm speculation overhead quan trọng. Buffer management hiệu quả cải thiện scalability. Conflict detection nhanh hơn tăng performance. Energy efficiency của TLS hardware cần tối ưu. Next-generation processors tích hợp TLS support tốt hơn.

6.3. Mở Rộng Programming Models

Hybrid approaches kết hợp TLS với explicit parallelism. Language features mới express speculation patterns. Framework integration với OpenMP, MPI mở rộng khả năng. Domain-specific optimizations cho các lĩnh vực cụ thể. Evolution của parallel programming paradigms hướng đến TLS.

Xem trước tài liệu
Tải đầy đủ để xem toàn bộ nội dung
Luận án tiến sĩ: Parallel Programming Using Thread-level Speculation

Tải xuống file đầy đủ để xem toàn bộ nội dung

Tải đầy đủ (139 trang)

Trích đoạn nội dung luận án

Tải xuống để đọc toàn bộ

PARALLEL PROGRAMMING USING THREAD-LEVEL SPECULATION A DISSERTATION SUBMITTED TO THE DEPARTMENT OF ELECTRICAL ENGINEERING AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Manohar Karkal Prabhu December 2005 UMI Number: 3197497 Copyright 2006 by Prabhu, Manohar Karkal All rights reserved. INFORMATION TO USERS The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleed-through, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted.

Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. ® UMI UMI Microform 3197497 Copyright 2006 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code.

ProQuest Information and Learning Company 300 North Zeeb Road P. Box 1346 Ann Arbor, MI 48106-1346 © Copyright by Manohar K. Prabhu 2006 All Rights Reserved ii I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Olukotun I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy.

A Christos Kozyrakis / I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. ted, Mark Horowitz \ Approved for the University Committee on Graduate Studies. iii Abstract As the performance increases of single-threaded processors diminish, consumer desktop processors are moving toward multi-core designs. Thread-level speculation (TLS) increases the space of applications that can benefit from these designs.

With TLS, a sequential application is divided into fairly independent tasks that are speculatively executed in parallel, while the hardware dynamically enforces data dependencies to provide the appearance of sequential execution. This thesis demonstrates that support for TLS greatly eases the task of manual parallel programming. Because TLS provides a sequential programming interface to parallel hardware, it enables the programmer to focus only on issues of performance, rather than correctness. The dissertation starts by demonstrating the parallelization of a microbenchmark to introduce a number of techniques for manual TLS parallelization.

Several of the advanced techniques leverage programmer expertise to surpass the capabilities of current advanced, automated parallelizers; the research presented here can provide guidance for the future development of such tools. Following this, the use of these techniques to parallelize seven of the SPEC CPU2000 applications is described. TLS parallelization yielded an average 120% speedup on four floating point applications and 70% speedup on three integer applications, while requiring only approximately 80 programmer hours and 150 lines of non-template code per application. These strong parallel performance results generated with relatively modest programmer effort support the inclusion of TLS in future chip multiprocessor designs.

iv For each application parallelized, a detailed description is provided of how and where parallelism was located, the impediments to extracting it using TLS, and the code transformations that were required to overcome these impediments. The results on these applications demonstrate that using advanced manual techniques is essential to effectively parallelize integer benchmarks. This leads to a discussion of common hindrances to TLS parallelization, and a subsequent description of methods of programming that help expose the parallelism in applications to TLS systems. These programming guidelines can help uniprocessor programmers create applications that can be easily ported to future TLS systems and yield good performance.

In closing, the dissertation reviews the many advantages of manual TLS parallel programming and specifies potential future research areas. Acknowledgments I would like to thank the many people who have provided me the support and encouragement to complete this dissertation and my Ph. There are so many family members, friends and associates that it is hard to know where to stop, but I do know where to start the list. I would like to thank my daughter Vaishali, first and foremost.

While many would argue that students with children take longer to complete, no distraction could be quite so grand as dear little Vaishali. Whether she was a baby sitting and cooing on my lap while I was debugging code, or was instead demanding I take time off to pay her some attention as she grew older, she has always made working from home the best way to get the job done. She is my other advisor, my live-in advisor (and is much more demanding, I might add!). I would like to thank so many of my family members, as well.

My mom, my brother and my two sisters have provided much of the inspiration that has led me down this path. Since moving to sunny California, there have been a host of other relatives who have provided fabulous fun and cheer, including Anita, Vivek, Farzaneh, Pandu, Mala and a bunch more. And many a friend has brightened my way through grad school, as have so many workmates. I am always indebted to “Uncle Lance,” who has earned his title not by being here at Stanford for more years than me, but from the non-stop fun and action he provides Vaishali on her every visit to the lab.

His presence in the great halls of Gates will be sorely missed by many. And likewise, it has been fun hanging out with Murali ee ee eee ean vi and Tara, the Hydra gang of old and new and the Future/Alumni Professors of Manufacturing. I am indebted to the various people who have worked behind the scenes to make my education possible, Darlene Hadding, Charlie Orgish and Marianne Marx, to name just a few. And, out in the “real” world, I owe a heap of gratitude to my many managers and work associates at HP, including most of all Ray, Bob, Emmanuelle and Steve.

But of course, the list would be incomplete without expressing my profound appreciation for the many advisors who have helped steer my path through to the light at the end of the tunnel. I thank Christos Kozyrakis and Mark Horowitz for the interest they have taken in my research and in providing me feedback on my conference presentations, my orals and this dissertation. I wish to thank Rick Reis and a variety of other professors at Stanford and beyond, who have motivated me to pursue a career in academia. But most of all, I | wish to thank Kunle Olukotun, my doctoral advisor, for being a continuing and unwavering support through the many twists and turns of the Ph.

Kunle has not only been an advisor, but also a friend, and I feel fortunate to have done my doctorate under an advisor whomI hold in such high regard. vii Table of Contents 1 Introduction and BackgrOUunnd. -- -« -- + + xn cknHHnHnnH HnH nHngEg 1 1.1 Evolution of HardWare. sàn HH HH HH TH HH HH tàng 3 1.

Increasing difficulties of hardware design. | Methods for reducing hardware design cornpÏ€XIẨV.2 Design of Parallel SOẨYWATG.- TT Hà HH HH TH TH Hết 6 1. Granularities of paraÏleliSim. -- << HT TH 9n nh 7 1.

Ability to automate paralle]1Zat1O. Challenges to extracting parallelism. su kén HH nhu 10 1. Approaches to parallelization of appÏiCatiOnS.

Contributions of This Dissertation over Related Research. Objectives and approach.-- -- «+ + kh HH HH HH tưng ngâm 18 1.- sọ TH HH Họ HH nHkt 20 1. Measurement and sampling strategy. esses ce ngàng 21 1.

sọ HH HH TT gu Hit 23 2 Thread-Level Speculation (TT S).---- vn ng HT ki 26 2.1 Ideal TLS SYSt€mS. HH HT HH Ki He 26 2.2 Practical implementations of TLS SYSẦ€TNS.- ng HH HH ky 30 2.3 Performance limiters of TLS SVS€INS. Gì HT HHnKkHưct 33 2. Primary performance ÌiTtIf€FS.- sọ TH HH ng nh như 34 2.

Secondary performance limiters .- - cá vn ng nà 4l 2. Measuring and understanding performance losses .4 TLS CMP hardware simulaf€d. sàng HH TH HH Hàn 47 Manual Programming With TLS .1 Parallel programming process using TLS. --- << HH HH TH HT HH HH 57 3.

Heap Sort Exarmple.- -s «su nh Hư ch tr 58 3. — Parallelizing with TLS.- 2-5 + SH TH TH HH nh 62 3. Ease of TLS Parallelization. Performance of TLS Paralle]izatiOH.

Optimizing TLS PerÍOrmance. Complex Value PrediCtIO'. Algorithm AdJustme€ni(.- - 5 ch nh TH HT HH gàng 73 3. Additional Automatic Optirn1zatiO'S.- ác se SH ng, 75 3.

-- -- ch nh ng 76 4 Manual TLS Parallelization of Whole ApplÌicatiOnS.1 SPEC2000, benchmark selection and execution sampÏing. cà HH HH TH Hi ng ng nh thiệp 86 4. LH HH HH Hà TH HH kh 89 4. nàn TH ky kế 90 4.- ch HT HH nh tre 92 4.

HH HH HH HH ng rh rcư 94 4.- -Ă- ác HH ng ng ng 95 4. ch ng nh nen 59k 96 4.< SH HH KH ch 97 4.3 Performance-related ODs€rVAfIOTS.-- Gà TH TH HH HH Hư 100 4.4 Additional simulator r€SUÏ{S. - ĂS HH TH HT nh nHtt 103 4.5 Programmer effort r€QUIT€Ở.- - Ăn nh nh ng 106 5 Observations and ConcÏUS1OTS.-- --- << HT nu ngu ch 110 5.1 Hindrances to TLS paralle]1ZafIOTI.- - Ăn vn ng như kt 110 5.2 TLS-friendly uniprocessor DrOBTaInTHInE,.- -- Gà HH kt 112 =. HH HT nh Km TT nh Ti nh tà EEE EE ERE nh ES 123 List of Tables Table 2-1: Memory system specifications .ccecseseeeesceseeeecesecsececeeseesseeenerseeneetaeenaees 48 Table 2-2: Loop-only TLS oVerh€aÌS.

--- --- 5 + HH Hà ng ng 49 Table 4-1: Benchmarks comprising SPEC CPU2000. 83 Table 4-2: Source code lengths of the SPEC CPU2000 benchmarks selected. 84 Table 4-3: Code transfOTf4f1OfAS. - TH TH TH HT Tu nu ch ta S6 Table 4-4: Speedup resulting from each additional transformatfIon.

--‹- «se s«+2 88 Table 4-5: Speculative thread lengths, regions and COV€TA. 104 Table 4-6: Breakdown of parallelized execution times .- cà Sex 105 Table 4-7: Lines of code added to parallelize appÌicatiOns.- óc s« se 107 xi List of Figures Figure 2-1: Thread-level speCuÏ4tiOT. - Án TH HT HH nh kh 28 Figure 2-2: Hydra chip mulfIDTOC€SSOT. - Gà TH ng nh nh He 47 Figure 3-1: Organization of the heap aT†TAy.

-á- ác HH HT ng Tu ng ghe 58 Figure 3-2: Top node removal and update of the heap .-- 5 àcnsseeseeerre 60 Figure 3-3: Code for top node removal and heap update.- --- «cty 61 Figure 3-4: Performance of incremental OpITT1ZAf1OTNS. án ngư 70 Figure 3-5: Original code with independent tasks sana, ". 77 Figure 3-6: Speculatively pipelined code ready for loop-only TLS .~- 77 Figure 4-1: Execution pattern and violations of 177.- co teen 91 Figure 4-2: Thread formulation for 1§§. ng ng HH ngư 93 Figure 4-3: Whole application speedups under various memory and TLS models.

103 Figure 5-1: Good and bad thread length sequences. teeeeeeseseeseeesenetseteneeeeeteeeeees 112 xii 1 Introduction and Background Workloads run on modern computer systems exhibit a large degree of inherent parallelism, which means that significant portions of the workloads can be executed concurrently. Computers can greatly improve their computational performance by exploiting inherent parallelism, which often exists at many different levels. At one extreme, instruction-level parallelism (ILP) occurs between the individual computer instructions which were intended to be executed sequentially.

At the other extreme, process-level parallelism allows multi-tasking operating systems to execute separate, possibly unrelated instruction streams on the same computer hardware at different times, thereby tolerating latency and allowing more efficient use of a computer system's resources. Between these extremes lie various forms of thread-level parallelism (TLP).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Từ khóa và chủ đề nghiên cứu


Câu hỏi thường gặp

Luận án "Lập trình song song sử dụng Thread-Level Speculation - Luận án" nghiên cứu về vấn đề gì?

Luận án tiến sĩ về lập trình song song sử dụng thread-level speculation. Nghiên cứu cải thiện hiệu suất ứng dụng đa luồng, đạt tăng tốc độ 120% trên bộ xử lý đa lõi.

Luận án "Lập trình song song sử dụng Thread-Level Speculation - Luận án" được bảo vệ tại trường nào?

Luận án này được bảo vệ tại stanford university. Năm bảo vệ: 2005.

Luận án "Lập trình song song sử dụng Thread-Level Speculation - Luận án" thuộc chuyên ngành gì?

Luận án "Lập trình song song sử dụng Thread-Level Speculation - Luận án" thuộc chuyên ngành electrical engineering. Danh mục: Khoa Học Máy Tính.

Luận án "Lập trình song song sử dụng Thread-Level Speculation - Luận án" có bao nhiêu trang?

Luận án "Lập trình song song sử dụng Thread-Level Speculation - Luận án" có 139 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.

Cách tải luận án "Lập trình song song sử dụng Thread-Level Speculation - Luận án" về máy như thế nào?

Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.

Luận án liên quan

Chia sẻ tài liệu: Facebook Twitter