Cargando…

Multicore Software Development Techniques: Applications, Tips, and Tricks.

This book provides a set of practical processes and techniques used for multicore software development. It is written with a focus on solving day to day problems using practical tips and tricks and industry case studies to reinforce the key concepts in multicore software development. Coverage inclu...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Oshana, Robert
Formato: Electrónico eBook
Idioma:Inglés
Publicado: [Place of publication not identified] : Elsevier Ltd., 2015.
Temas:
Acceso en línea:Texto completo

MARC

LEADER 00000cam a22000003i 4500
001 EBOOKCENTRAL_ocn930600757
003 OCoLC
005 20240329122006.0
006 m o d
007 cr cnu|||unuuu
008 151130s2015 xx ob 001 0 eng d
040 |a N$T  |b eng  |e rda  |e pn  |c N$T  |d YDXCP  |d EBLCP  |d N$T  |d OCLCO  |d N$T  |d OCLCF  |d DEBBG  |d MERUC  |d IDB  |d OCLCQ  |d OCLCO  |d WRM  |d OCLCQ  |d CUY  |d ZCU  |d ICG  |d DKC  |d OCLCQ  |d SGP  |d OCLCQ  |d OCLCO  |d OCLCL 
019 |a 930760469 
020 |a 9780128010372  |q (electronic bk.) 
020 |a 0128010371  |q (electronic bk.) 
020 |z 9780128009581 
029 1 |a CHNEW  |b 000893512 
029 1 |a DEBBG  |b BV043626668 
029 1 |a AU@  |b 000057007286 
035 |a (OCoLC)930600757  |z (OCoLC)930760469 
050 4 |a QA76.76.D47 
072 7 |a COM  |x 051000  |2 bisacsh 
082 0 4 |a 005.1  |2 23 
049 |a UAMI 
100 1 |a Oshana, Robert. 
245 1 0 |a Multicore Software Development Techniques: Applications, Tips, and Tricks. 
264 1 |a [Place of publication not identified] :  |b Elsevier Ltd.,  |c 2015. 
300 |a 1 online resource 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
588 0 |a Vendor-supplied metadata. 
504 |a Includes bibliographical references and index. 
505 0 |a Front Cover; Multicore Software Development Techniques; Copyright Page; Dedication; Contents; 1 Principles of Parallel Computing; 1.1 Concurrency versus Parallelism; 1.2 Symmetric and Asymmetric Multiprocessing; 1.2.1 Symmetric Multiprocessing; 1.2.2 Asymmetric Multiprocessing; 1.3 Parallelism Saves Power; 1.3.1 Limit: "Hidden Parallelism" Gains are Slowing Down; 1.3.2 Another Limit: Chip Yield and Process Technologies; 1.3.3 Another Limit: Basic Laws of Physics and the Speed of Light; 1.4 Key Challenges of Parallel Computing; 1.4.1 Finding Enough Parallelism; 1.4.2 Data Dependencies 
505 8 |a 1.4.3 Achieving the Right Level of Granularity1.4.4 Locality and Parallelism; 1.4.5 Load Imbalance; 1.4.6 Speedup; 1.4.7 Directed Graphs; 2 Parallelism in All of Its Forms; 2.1 Bit-Level Parallelism; 2.2 Instruction-Level Parallelism (ILP); 2.3 Simultaneous Multithreading; 2.4 Single Instruction, Multiple Data (SIMD); 2.5 Data Parallelism; 2.6 Task Parallelism; 2.7 Acceleration and Offload Engines; 3 Multicore System Architectures; 3.1 Shared Memory Multicore Systems; 3.2 Cache Coherency; 3.3 Shared Data Synchronization; 3.4 Distributed Memory; 3.5 Symmetric Multiprocessing 
505 8 |a 3.6 Asymmetric Multiprocessing3.7 Hybrid Approaches; 3.8 Speaking of Cores; 3.9 Graphical Processing Units (GPU); 3.10 Putting It All Together; 4 Multicore Software Architectures; 4.1 Multicore Software Architectures; 4.1.1 Master/Worker; 4.1.2 Peer; 4.1.3 Pipelined; 4.2 A Decision Tree Approach to Selecting a Multicore Architecture; 4.2.1 Decision 1: Select the Programming Model; 4.2.2 Decision 2: Choose the Operating System Framework; 4.2.3 Decision 3: Determine the Control Plane and Data Plane Model 
505 8 |a 4.2.4 Decisions 4 and 5: Choose the Type of Operating System Needed for the Control Plane and Data Plane4.2.5 Decision 6: Determine the Type of Acceleration Needed; 5 Multicore Software Development Process; 5.1 Multicore Programming Models; 6 Putting it All Together, A Case Study of Multicore Development; 6.1 Multiple-Single-Cores; 6.2 Cooperating-Multiple-Cores; 6.3 Getting Started; 6.3.1 JPEG Encoding Application; 6.4 System Requirements; 6.4.1 Intercore Communication; 6.4.2 Master-and-Slaves Implementation; 7 Multicore Virtualization; 7.1 Hypervisor Classifications 
505 8 |a 7.2 Virtualization Use Cases for Multicore7.3 Linux Hypervisors; 7.4 Virtual Networking in Multicore; 7.5 I/O Activity in a Virtualized Environment; 7.6 Direct Device Assignment; 8 Performance and Optimization of Multicore Systems; 8.1 Select the Right "Core" for Your Multicore; 8.2 Improve Serial Performance before Migrating to Multicore (Especially ILP); 8.3 Achieve Proper Load Balancing (SMP Linux) and Scheduling; 8.4 Improve Data Locality; 8.5 Reduce or Eliminate False Sharing; 8.6 Use Affinity Scheduling When Necessary; 8.7 Apply the Proper Lock Granularity and Frequency 
520 |a This book provides a set of practical processes and techniques used for multicore software development. It is written with a focus on solving day to day problems using practical tips and tricks and industry case studies to reinforce the key concepts in multicore software development. Coverage includes: The multicore landscape Principles of parallel computing Multicore SoC architectures Multicore programming models The Multicore development process Multicore programming with threads Concurrency abstraction layers Debugging Multicore Systems Practical techniques for getting started in multicore development Case Studies in Multicore Systems Development Sample code to reinforce many of the concepts discussed Presents the 'nuts and bolts' of programming a multicore system Provides a short-format book on the practical processes and techniques used in multicore software development Covers practical tips, tricks and industry case studies to enhance the learning process. 
590 |a ProQuest Ebook Central  |b Ebook Central Academic Complete 
650 0 |a Computer software  |x Development. 
650 7 |a COMPUTERS  |x Programming  |x General.  |2 bisacsh 
650 7 |a Computer software  |x Development  |2 fast 
758 |i has work:  |a Multicore software development techniques (Text)  |1 https://id.oclc.org/worldcat/entity/E39PCGwGJmHftWTWrr4QHTfKBP  |4 https://id.oclc.org/worldcat/ontology/hasWork 
776 0 8 |i Erscheint auch als:  |n Druck-Ausgabe  |a Oshana, Robert. Multicore Software Development Techniques .  |t Applications, Tips, and Tricks 
856 4 0 |u https://ebookcentral.uam.elogim.com/lib/uam-ebooks/detail.action?docID=4098359  |z Texto completo 
938 |a EBL - Ebook Library  |b EBLB  |n EBL4098359 
938 |a EBSCOhost  |b EBSC  |n 1100511 
938 |a YBP Library Services  |b YANK  |n 12716828 
994 |a 92  |b IZTAP