Return to Video

Building A Power Efficient Processor - Intro to Parallel Programming

  • 0:00 - 0:01
    Now the next question.
  • 0:01 - 0:03
    When we build a high performance processor,
  • 0:03 - 0:06
    which of course is going to be power-efficient, what are we optimizing for?
  • 0:06 - 0:09
    One choice is minimizing latency.
  • 0:09 - 0:11
    Latency is the amount of time to complete a task.
  • 0:11 - 0:14
    We measure latency in units of time, like seconds.
  • 0:14 - 0:16
    The other choice is throughput.
  • 0:16 - 0:19
    Throughput is tasks completed per unit time.
  • 0:19 - 0:24
    And we measure throughput in units as stuff per time, like jobs completed per hour.
  • 0:24 - 0:28
    Unfortunately, these two goals are not necessarily aligned.
  • 0:28 - 0:30
    In America, if you have a driver's license or a car,
  • 0:30 - 0:36
    you've had the unfortunate opportunity to visit a government office called The Department of Motor Vehicles.
  • 0:36 - 0:39
    If you're not from America, you've probably visited something like it.
  • 0:39 - 0:43
    So in your head when when I say "DMV," substitute your favorite government office.
  • 0:43 - 0:46
    When you visit the DMV, it's a very frustrating experience.
  • 0:46 - 0:51
    You wait in lines a lot. This is not necessarily the fault of the DMC, though.
  • 0:51 - 0:56
    The reason this happens is because your goals are not aligned with the DMV's goals.
  • 0:56 - 1:01
    Your goal is to optimize for latency. You want to spend as little time in the DMV as possible.
  • 1:01 - 1:04
    Instead, however, the DMV optimizes for throughput,
  • 1:04 - 1:07
    specifically, the number of customers they serve per day.
  • 1:07 - 1:13
    Consequently, these two people sitting behind the desk right here that work for DMV want long lines.
  • 1:13 - 1:16
    Long lines mean their hard working employees are always busy
  • 1:16 - 1:19
    because there's never a time they don't have a customer waiting.
  • 1:19 - 1:22
    Traditional CPU's optimize for latency.
  • 1:22 - 1:26
    They try to minimize the time elapsed of one particular task.
  • 1:26 - 1:29
    GPUs instead chose to optimize for throughput.
  • 1:29 - 1:31
    This is a fundamentally different approach
  • 1:31 - 1:34
    and one that is aligned with technical trends in the computer industry.
  • 1:34 - 1:39
    I'll refer you to a 2004 article by David Patterson called Latency Lags Bandwith.
  • 1:39 - 1:44
    There are many, many applications where optimizing for throughput is the right approach.
  • 1:44 - 1:49
    In computer graphics, for instance, we care more about pixels per second than the latency of any particular pixe l.
  • 1:49 - 1:53
    We're willing to make the processing time of one pixel take twice as long
  • 1:53 - 1:55
    if it means we get more pixel throughput.
  • 1:55 - 1:59
    This class's homework focuses on image processing applications.
  • 1:59 - 2:01
    Here, we also care more about throughput,
  • 2:01 - 2:06
    which is more about pixels produced per second than the time for one individual pixel.
  • 2:06 - 2:09
    Imaging processing applications are a perfect match for the GPU,
  • 2:09 - 2:13
    which is why we're so excited about using them as a driving example in this course.
タイトル:
Building A Power Efficient Processor - Intro to Parallel Programming
概説:

more » « less
Video Language:
English
Team:
Udacity
プロジェクト:
CS344 - Intro to Parallel Programming
Duration:
02:15

English subtitles

改訂 Compare revisions