Evolution of Hardware and Software in Computing History

from yale 45 to yale 90 let us not bother n.w
1 / 14
Embed
Share

Exploring the progression from hardware-centric to software-centric approaches in computing, highlighting innovations in performance, efficiency, and the emergence of specialized solutions like GPUs. The journey unfolds through key lessons learned and future academic research directions, emphasizing the shift towards general-purpose app processing units and 4D integration for enhanced computing capabilities.

  • Evolution Computing
  • Hardware
  • Software
  • Performance
  • Efficiency

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. From Yale-45 to Yale-90: Let Us Not Bother the Programmers Guri Sohi University of Wisconsin-Madison Celebrating Yale@75 September 19, 2014

  2. Outline Where have we come from Where are we are likely going 2

  3. Where From: Hardware Primary goal was performance Continuing increase in performance without demands on software Lots of under the hood innovations in cores (e.g., Big MF branch predictors) Key enabling technique was sequential appearance and precise exceptions 3

  4. Where From: Hardware Put more on core to achieve certain objective Argument is improve efficiency Multimedia, vectors, 64-bit, etc. Incremental cost Cores have become a catch all Good for all, but not the most efficient for any Efficiency became important Emergence of more efficient, special-purpose solutions (e.g., GPUs) 4

  5. Where From: Software Few applications, few customers Shrink Wrap software: few applications and lots of customers Ubiquitous software: lots of diverse applications and lots of software 5

  6. Where From: Software No worries when everything under the hood Significant challenges with multicore Need to parallelize If biting the bullet, might as well go all the way E.g., GPUs But mostly avoid difficulty and embrace convenience Even if inefficient 6

  7. Important Lessons When transistor budgets exceed certain amounts, the importance of certain techniques decreases, making room for other techniques Relative importance of special techniques diminishes over time Convenience key to software proliferation Mass volumes drive end result 7

  8. Future Academic Research General-purpose App processing Units (GPAPUs) XY-DRAM 4D integration Heterogeneity (XY-DRAM) Dynamically varying distance between 3D layers Revisit everything (e.g., cache design and DRAM scheduling) with 4D integration with GPAPUs 8

  9. Future Primary design goal: energy Hardware: use more transistors to save energy Software: keep doing things under the hood 9

  10. Future Novel uniprocessor cores Lower energy devices prone to errors Customized computation energy reducers (a.k.a. accelerators) If can use software library, why use on multiple CPUs? Why not on customized hardware? 10

  11. Processor Usage Have OS core, user core Have core that can only run 32/64-bit code Specialization for 32-bit operands Have core that doesn t support precise interrupts Many other forms of limited functionality cores Improve performance Reduce energy 11

  12. Processor Usage Steady demultiplexing of what was done on a general-purpose core Computation spreading OS/user Separating specific code to accelerators Other forms of stripping out functionality in general purpose core Mostly general-purpose core 12

  13. Hardware Going Forward Multiple mostly general-purpose processing cores dynamically specialized Some special-purpose hardware For more efficient processing Over-provisioning: pool of available (i.e., powered on) resources might change frequently Now called dark silicon Will need to be transparent to software 13

  14. What all is needed? Develop picks and shovels What are the mechanisms to ease software use of diverse hardware? Are we going to have higher level of exceptions/restart? Does the microarchitecture need low level restart? Precise/non-precise core 14

More Related Content