RARE: Rethinking Architecture Research and Education

RARE: Rethinking Architecture Research and Education

RARE: Rethinking Architecture Research and Education Chuck Thacker ([email protected]) Microsoft Research Silicon Valley October, 2010 Influential D. Patterson columns: Seven Reason to Shave Your Head and Three Reasons Not to: The bald truth. Commun. ACM. 49, (4): 31-32 (April, 2006) Computer Science Education in the 21st Century. Commun. ACM 49, (3): 27-30 (March, 2006) Alas, sometimes, Dave is wrong… Points in Dave’s second CACM column: • Use tools and libraries – “For many CS courses, a dramatic change would simply be if students first wrote a clear specification and then built software using modern tools and software components”. • Embrace Parallelism. – It is the only road remaining today for performance improvement • Join the open source movement. • Build your own supercomputer. – Described RAMP, which led to my latest projects. The problem for Computer Architecture • As with “real” architecture, it is about building things. – The “things” must be functional, elegant, and cost-effective. • Academic departments haven’t been able to build computers since about 1982. – Chip fabrication is too expensive – Chip design is too complex for small student teams. • Result: Architecture research became incremental. The RAMP idea • Provide an FPGA-based platform for architectural research. • Would allow small groups to design and build significant systems again. • I was initially skeptical – “FPGAs aren’t big enough” – “Design tools aren’t up to the job”. • I was wrong • But I was right that this isn’t something best done by students. – So we offered the RAMP folks a deal. BEE3 (‘06 – ’09) BEE3 Subsystems DDR2 DIMM0 DDR2 DIMM0 DDR2 DIMM1 DDR2 DIMM1 DDR2 DIMM2 DDR2 DIMM2 DDR2 DIMM3 DDR2 DIMM3 133 133 133 133 CX4 CX4 QSH-DP- User1 User2 QSH-DP- 40x2 72* 40x2 040 5VLXT 5VLXT 040 CX4 PCI-E PCI-E CX4 8X 8X 72* 72* PCI-E PCI-E CX4 8X 8X CX4 QSH-DP- User3 User4 QSH-DP- 40x2 72* 40x2 040 5VLXT 5VLXT 040 CX4 CX4 133 133 133 133 DDR2 DIMM0 DDR2 DIMM0 DDR2 DIMM1 DDR2 DIMM1 DDR2 DIMM2 DDR2 DIMM2 DDR2 DIMM3 DDR2 DIMM3 BEE3 Program • MSR, UCB did the detailed specifications • MSR engaged Celestica for the implementation. – Better than burning out grad students – Pros can do the job better and faster – Resulting board worked the first time (unprecedented for me) • MS licensed the design to a 3rd party company (BEECube) to build, sell, and support systems. – ~75 shipped to date – MSR supplied some basic IP (DRAM controller) • Means that both academics and industrial customers can buy them. – Not the case if NSF/DARPA funded • Good for some, but a bit pricey for wide use, so… Beehive (‘09 – present) • An FPGA-based many-core system – 13 RISC cores (100 MHz) – 2 GB DDR2 DRAM controller – Display controller – 1 Gb Ethernet controller – ~6K lines of Verilog – Students can understand and modify it, using only the basic Xilinx tools (ISE, ChipScope). No high-powered CAD needed. – Implemented on an FPGA development board that is $750 to academics. • A software tool chain – C compiler, assembler, linker • A small but growing set of libraries for frequently needed things • Licensed for academic research use Beehive on Xilinx XUPV5 Academic price: $750 Beehive Core CPU Core local IO subsystem out AQ WQ Multiplier Device 1 WhichCore RS232 RS232 Device 0 DCache Ring Device 3 Messenger Ring Device 4 Lock Unit Ring Device 5 AQ[2:0], AQ[31] RQ To CPU Beehive instructions t Ra Rw Count Rb s Function ?? Op n o C 31 27 26 22 21 17 16 10 9 8 6 5 4 3 0 Function: Op 0: A + B 4: A | B 0: RSH(Count) 4: ARSH(Count) 8: LLI (Load Link Immediate) 12: RwCountConst, jump Always 1: A - B •5: A32 | ~B -1:bit LSH(C oinstructions,unt) 5: No shift, CountConst 329: -RwbitCountC oregistersnst, jump if out < 0 1 3: RwCountConst, jump if out >= 0 2: A & B 6: A ^ B 2: RCY(Count) 6: No shift, CountConst, AQW := 10: RwCountConst, jump if out = 0 14: RwCountConst, jump if out # 0 3: A & ~B 7: A ^ ~B 3: LCY(Count) 7: No shift, CountConst, AQR := 11: RwCountConst, jump if 15: RwCountConst, jump if no • Rw = Ra Function Rb Op ALU car ryCount ALU carry – Function: add, sub, logic – Op: Shifts • Variants for Jumps, Memory accesses • Support for constants Beehive Ring Interconnect • All wires are local • Passes through: – Each core – Display controller – Ethernet controller – DRAM controller • “Train” contains token + contents • Each node can modify/append to the train Architectural Curiosities • No coherent memory • No byte addressing – We fudge this • No protection – We may add this • No VM • No kernel mode Beehive uses: Education • Architecture lab courses – Boards are inexpensive, so every student can have one. – Verilog is simple enough for students to make changes, try new things. • Like Stanford’s NetFPGA – Tool chain and libraries are familiar • GCC, make,… – Initial results are promising Beehives at MIT Two-week IAP course in January. Led to a full-semester course: “Multicore Systems Laboratory”, running now. www.web.mit.edu/6.173 Beehive uses: Research • Forget shared memory. Use message passing • Transactional memory – Allows apples-to-apples comparison with Monitors/CVs – Gets coherence where you need it. – We have a working implementation, and are writing programs to understand whether it is actually a useful abstraction for programmers. • Do we really need… – Coherent shared memory? – Interrupts? – VM? – An OS? Beehive Non-goals • Emulate an existing ISA – Modern ISAs are not simple – Can’t do direct comparisons, only A/B experiments. • Run Linux or other extant OSes – Small test programs, benchmarks – Barrelfish is the exception • Have high performance – Can’t have this with FPGAs anyway. – Only needs to be fast enough to run programs much faster than a simulator. Next steps • Port (back) to BEE3 • Use in our own research • TM (MSR SVL) • Barrelfish (MSR Cambridge, ETH) • Make it more widely available for academic use (email me) Final Thoughts • Architecture research has been in the doldrums for 20 years. • Recent barriers will require changes in the way we architect future systems. • We have new opportunities and new mandates for innovation in architecture. • We need new approaches to teaching and research. .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us