01020nam a22002771i 450099100374162970753620030918134424.0031111s1986 xxu|||||||||||||||||eng 0806120193b12468071-39ule_instARCHE-050135ExLDip.to LingueitaA.t.i. Arché s.c.r.l. Pandora Sicilia s.r.l.820Ogilvy, Jack David Angus457082Reading Beowulf /by J. D. A. Ogilvy and Donald C. Baker ; drawings by Keith BakeNorman ;London :university of Oklahoma press,1986XVII, 221 p. ;21 cmBeowulfBibliografiaBaker, Donald C.Baker, Keith.b1246807102-04-1413-11-03991003741629707536LE012 829.3 OGI12012000204713le012-E0.00-l- 02020.i1289888013-11-03Reading Beowulf181736UNISALENTOle01213-11-03ma -engxxu0105726nam 2200661 450 991081938150332120200520144314.00-12-800958-60-12-801037-1(CKB)3710000000527086(EBL)4098359(Au-PeEL)EBL4098359(CaPaEBR)ebr11125392(CaONFJC)MIL875030(OCoLC)930600757(CaSebORM)9780128010372(MiAaPQ)EBC4098359(PPN)193664089(EXLCZ)99371000000052708620160104h20162016 uy| 0engur|n|---|||||rdacontentrdamediardacarrierMulticore software development techniques applications, tips, and tricks /Rob Oshana1st editionAmsterdam :Elsevier :Newnes,[2016]©20161 online resource (233 p.)Newnes Pocket Bks.Description based upon print version of record.Includes bibliographical references and index.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 Dependencies1.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 Multiprocessing3.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 Model4.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 Classifications7.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 Frequency8.8 Remove Sync Barriers Where PossibleThis 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 processNewnes Pocket Bks.Parallel programming (Computer science)MultiprocessorsComputer softwareDevelopmentSystems on a chipParallel programming (Computer science)Multiprocessors.Computer softwareDevelopment.Systems on a chip.005.2/75Oshana Robert896750MiAaPQMiAaPQMiAaPQBOOK9910819381503321Multicore software development techniques4078300UNINA