Many Core

A Brief Survey of NUMA (Non-Uniform Memory Architecture) Literature

This document presents a list of articles on NUMA (Non-uniform Memory Architecture) that the author considers particularly useful. The document is divided into categories corresponding to the type of article being referenced. Often the referenced article could have been placed in more than one category. In this situation, the reference to the article is placed in what the author thinks is the most relevant category. These articles were obtained from the Internet and, though every attempt was made to identify useful and informative material, Intel does not provide any guarantees as to the veracity of the material. It is expected that the reader will use their own experience and knowledge to challenge and confirm the material in these references.
  • Développeurs
  • Professeurs
  • Étudiants
  • Serveur
  • server
  • Parallel Programming
  • Taylor Kidd
  • Intel Xeon Phi Coprocessor
  • MIC
  • Knights Landing
  • manycore
  • Many Core
  • KNL
  • Informatique en cluster
  • Processeur Intel® Core™
  • Intel® Many Integrated Core Architecture
  • Optimisation
  • Informatique parallèle
  • Analyse de plate-forme
  • Parallélisation
  • Vectorisation
  • Advanced Computer Concepts for The (Not So) Common Chef: First Some Terminology Part 2


    Now that we know what a core is, let’s dive into another source of confusion.

    This section gets a little deeper into techno babble than I wanted for this series of blogs. If you are so inclined, my gourmet readers, you can either skip or read on. I believe the rest of the blogs can be understood with or without this little aside. But for those of you who are already familiar with threading, it may give you more insight than would be the case otherwise.

    针对“普通级(以上)厨师”的高级计算机概念: 术语第 2 部分



    我将在这部分通过一系列博客深入介绍一些计算机术语。 如果觉得乏味,我的美食家读者们,你们可以选择跳过或继续阅读。 在我看来,不管这部分有或没有,都不妨碍理解其他博客。 不过如果你们其中有人已对线程化有所了解,可以通过这部分内容获得更多洞察。

    在了解比喻的核心内容前,我们首先了解一下什么是‘线程’。 计算机科学家了解并喜欢使用的一般意义上的线程,与内核中执行程序时所涉及的线程不同。 例如,超线程实际上并不是指一个内核能够执行程序派生的两条线程(比如 MyProgram.ThreadA 和 MyProgram.ThreadB)。 (超线程稍后再做详细介绍。) 不要误会,它们之间存在关联。 计算机架构师所说的线程主要是指“执行线程”,而非程序。 就硬件而言,不存在程序,只存在硬件执行的一系列指令,因此称为“执行线程”。

    (在此我将“硬件线程”和“软件线程”分别简称为 “HW-thread” 和 “SW-thread”。)


    Advanced Computer Concepts For The (Not So) Common Chef: Terminology Pt 1

    Before we start, I will use the next two blogs to clear up some terminology. If you are familiar with these concepts, I give you permission to jump to the next section.  I suggest any software readers still check out the other blog about threads. There is a lot of confusion, even among us software professionals.

    针对“普通级(以上)厨师”的高级计算机概念: 术语(第 1 部分)

    开始之前,我想通过下面两篇博客解释一些术语。 如果对这些概念已经有所了解,可以直接跳至下一部分。  我建议所有软件读者参阅其他关于介绍线程的博客。 这个领域存在许多混淆,即使我们软件专业人员也无法避免。

    我们首先来了解一下什么是处理器、CPU、内核以及封装。 电视等大众媒体在使用这些术语时通常比较随便。 然后我们介绍线程,尤其是硬件和软件线程之间的区别。 人们通常容易混淆这些不同线程之间的区别,即使计算机编程人员也不例外。

    内核? CPU? 封装? 芯片? HUH?

    请大家注意下图 CPU 的左侧。 在奔腾® 处理器时代,人们通常将计算机中执行程序指令的组件(即计算机的大脑)称为“CPU” 或‘处理器’。 这两者之间几乎没有区别。 ‘计算机芯片’指上面刻有集成电路的芯片,比如 CPU。 ‘封装’指由塑料和金属制成的外壳,用于包裹和保护芯片不被大量针脚/接口刺穿,同时也是出于美观的考虑。

    针对“普通级(以上)厨师”的高级计算机概念: 简介

    之前在与一位非常聪明但不是专业工程师的同事交谈时,我发现有必要对线程化和英特尔® 至强融核™ ⅹ100 和 ⅹ200 架构的其他组件稍作解释。 首先关于超线程,(说的更具体一点)以及协处理器的超线程版本。 经过冥思苦想,我终于想到可以用公共厨房来进行恰当的比喻。

    Image of cook, oven & appliances

    Advanced Computer Concepts For The (Not So) Common Chef: Introduction

    While talking to a very intelligent but non-engineer colleague, I found myself needing to explain the threading and other components of the current and next generation Intel® Xeon Phi™ architectures. The first topic that came up was hyper-threading, and more specifically, the coprocessor’s version of hyper-threading. Wracking my brain, I finally hit upon an analogy that seemed to suit: the common kitchen.

    S’abonner à Many Core