1 / 31

Overview of Purdue Computer Engineering

Overview of Purdue Computer Engineering. Computer Engineering (CE) at Purdue. 20+ faculty members (25% of the School of ECE) Key Areas: Software Systems Compilers and High Performance Computing Distributed Systems, Networking and Operating Systems Dependability and Security

guang
Download Presentation

Overview of Purdue Computer Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of Purdue Computer Engineering

  2. Computer Engineering (CE) at Purdue • 20+ faculty members (25% of the School of ECE) • Key Areas: • Software Systems • Compilers and High Performance Computing • Distributed Systems, Networking and Operating Systems • Dependability and Security • Computer Architecture and Embedded Systems • AI, Robotics, and Visualization • Artificial Intelligence and Machine Learning • Graphics and Visualization • Robotics, Vision and Haptics

  3. Why Purdue Computer Engineering? • Consistently ranked in the top 11 (US News Rankings) • Computer Engineering gets a separate ranking from EE • Strong software focus is unique… • Many faculty with Ph.Ds from Computer Science Departments • Areas like OS, Networking, Compilers, Visualization, AI not common in Computer Engineering Departments • Strong reputation in hardware • Architecture, VLSI, Embedded Systems • Collaborations with sister areas/departments/centers • Communication & Signal Processing, VLSI, etc. • Computer Science Department • CERIAS (Security center), CWSA (Wireless center), CRI (High Performance Computing)

  4. Where do CE alumni go?(in recent years)

  5. CE Positions

  6. Degree Options • Lots of flexibility in degree options, course selection • Ph.D(after Masters): 4 courses • Direct Ph.D (after Bachelors): 12 courses • Masters: • Non-Thesis (10 courses) • Thesis Option (6 courses) • Some highlights about our Masters: • Courses same as Ph.D level courses • Easy to switch to Ph.D (with support from committee members) • Thesis option allows large-scale system building, exposure to research etc. • Details: See Ph.D Handbook: • https://engineering.purdue.edu/ECE/Academics/Graduates/PHD/DoctoralHandbook.pdf

  7. Research Projects Overview • Compilers:Eigenmann, Midkiff, Kulkarni • Distributed Syst./Networking/Operating Syst:Bagchi, Hu, Rao • Dependability/Security:Ghafoor, Bagchi • Computer Architecture: Vijaykumar, Pai, Thottethodi • Embedded Systems:Raghunathan, Lu • Artificial Intelligence/Machine Learning:Givan, Siskind • Graphics/Visualization:Ebert, Elmqvist • Robotics/Vision/Haptics:Kak, Lee, Park, Tan

  8. Internet Systems Lab (Sanjay Rao) Current Research Focus: Cloud Computing • Many Opportunities • Elasticity, Cost-savings, Geo-distribution • Big Challenges: • Data Privacy Concerns • Performance is variable: • Amazon: every 100ms latency cost 1% in sales • Google: 0.5 sec’s delay  revenue drop by 20% • Data-center failures and outages

  9. Less sensitive data frontend Internet (sensitive databases) ISL (Sanjay Rao) Geo-distributed data storage Balancing consistency, availability, performance Hybrid Cloud Architectures Cloud an ACL • How to architect interactive geo-distributed cloud applications? • Adapt to performance variability, high availability • Mobile Applications and cloud: • When does cloud make sense for mobile applications? • Consider both energy efficiency (3G/LTE), and performance Local Data Center

  10. ISL (Sanjay Rao) • Other Research Areas: • Enterprise Network Management • Software Defined Networks • Internet Video Delivery (e.g., Youtube) • Collaborations with AT&T, Microsoft, Google • Research prototypes deployed in AT&T, Purdue • More Information: • URL: http://www.ece.purdue.edu/~isl/ • sanjay@purdue.edu

  11. Dependable Computing Systems Research (DCSL)Prof. Saurabh Bagchi • URL: www.ece.purdue.edu/~dcsl • We need computer systems that we can depend on in the face of • Naturally occurring faults – hardware malfunction, software bugs • Malicious intrusions – insider attack or external adversaries • To build these we need students who are not afraid to make and break real systems • Many project ideas and requirements come from industrial sponsors and partners

  12. Research Projects in DCSL • Framework for distributed intrusion tolerant system • How to build an adaptive infrastructure for diagnosing and recovering from failures in a distributed platform? • Application:Web services, DoD missile defense system • Distributed IDS, based on Bayesian Network – protecting Northrop Grumman’s networks D1 D3 D2 D4

  13. Research Projects in DCSL • Black-box diagnosis • How to diagnose source of errors in large scale distributed computing platforms? • Application: Distributed web services, Mobile apps (with AT&T), Supercomputing clusters (with LLNL) • Dependable embedded wireless networks • How to build dependable network out of inherently unreliable components with resource constraints? • Application:Smart power grid monitoring (startup company: SensorHound Innovations), infrastructureless wireless networks, say in battlefields or in disaster relief

  14. Distributed Systems and Networking Lab(Prof. Y. Charlie Hu) (1/2) • Smartphone Energy Profiling • Characterizing and Modeling the Impact of Wireless Signal Strength on Smartphone Battery Drain (Sigmetrics 2013) • Where is the energy spent inside my app? Fine Grained Energy Accounting on Smartphones with Eprof(EuroSys 2012, Best Student Paper Award) • Fine-Grained Power Modeling for Smartphones Using System Call Tracing (EuroSys 2011) • Smartphone Energy Debugging (with Prof. Midkiff) • Hypnos: Understanding and Treating Sleep Conflicts in Smartphones (Eurosys 2013) • What is keeping my phone awake? Characterizing and Detecting No-Sleep Energy Bugs in Smartphone Apps (MobiSys 2012) • Bootstrapping Energy Debugging on Smartphones: A First Look at Energy Bugs in Mobile Devices (HotNets 2011)

  15. Distributed Systems and Networking Lab(Prof. Y. Charlie Hu) (2/2) • Data Center Networking • The Only Constant is Change: Incorporating Time Varying Network Reservations in Data Centers (SIGCOMM 2012) • The TCP Outcast Problem: Exposing Unfairness in Data Center Networks (NSDI 2012) • Latency Inflation with MPLS-based Traffic Engineering (IMC 2011) • Optimizing Cost and Performance in Online Service Provider Networks (NSDI 2010)

  16. What is High-Performance Computing (HPC)? • Systems and application technology that creates and uses the highest compute power • Technology that pushes this envelope is clearly HPC • Today’s performance level: ~100TFlops peak • (Cray XK7 @ Oak Ridge NL, 560,000 cores, 17590 TFlops peak) • Classical application areas: climate modeling, computational fluid dynamics, molecular dynamics, structural analysis, …. • Hardware and software systems that enable this technology • The Computing Research Institute is Purdue’s interdisciplinary Center for High-Performance Computing • Several CE faculty participate in CRI: Midkiff, Eigenmann, Ghafoor, Vijaykumar, Hu, Bagchi, Thottethodi, Raghunathan

  17. Cyberinfrastructures You can get involved in the largest project in the history of Purdue NEES: Network for Earthquake Engineering Simulation nees.org • Research topics: • Search, analyze, visualize, manipulate large data • Cloud computing services • Security • Collaboration, virtual organizations • Big Data capture, use, storage, management Profs Rudi Eigenmann Saurabh Bagchi Collaborating with Civil Engineering, Mechanical Engineering, Engineering Education and ~20 other Universities 17

  18. HELPS Lab (Prof. Yung-Hsiang Lu) • High-Efficiency, Low-Power Systems • http://engineering.purdue.edu/helps • Supercomputer on Your Hand: Combine convenience of mobile and the resources in cloud servers • Run complex programs, such as recognition, high-performance graphics, strategic games… on phone while performing heavy computing on server (cloud) • Problems • Which parts of programs should run on mobile or cloud? • How to handle intermittent connections? • How many servers should be used? • How to retrieve data from multiple sites (such as Youtube + Facebook + Picasa)? • How to protect privacy and data integrity?

  19. HELPS Lab: Prof. Yung-Hsiang Lu • Integration of mobile robots and cloud computing • Robot mobiles' batteries can last only minutes (for demos). • Computing takes too long and wastes energy. • Robots: sensing and control. Cloud: computing. • Big Data. • Thousands of cameras streaming video continuously. • Most videos are not stored or analyzed. • Analyzing these videos require distributed computing. MB b b/s Mb/s b/s Mb/s storage data sources distributed computers

  20. Embedded Systems Lab (ESL)– Vijay Raghunathan • Webpage: https://engineering.purdue.edu/ESL • Embedded Systems: “Computers that are part of larger systems that you don’t normally think of as computers” • 98% of all CPUs sold go into embedded systems • Often very resource constrained, distributed, wireless 71 embedded CPUs 2 million lines of code BMW 745i

  21. ESL: HW and SW Systems Built By Us Super capacitor based high-efficiency energy storage system Heliomote solar-powered sensor node Ultra-low voltage energy harvesting IC RF triggered wakeup system SPI-SNOOPER reliable wireless sensor node AVEKSHA system for non-intrusive debugging of embedded systems

  22. Embedded Systems Lab (ESL) • Hardware and Software Architectures for Wireless Embedded Systems • New low-power hardware architectures • Environmental energy harvesting • Embedded systems that enable green computing • Wireless Sensor Networks • New programming paradigms • New techniques for reliable operation • System-on-Chip Design Methodologies

  23. Parallelism, Languages and Compilers Lab(Prof. Milind Kulkarni) • How do we make it easier for “Joe programmer” to write correct, efficient parallel and distributed programs? • Give him an intuitive programming model • Sequential, or close to it • Simple abstractions for data structures, algorithms • Develop languages, compilers and run-time techniques to support intuitive programming models • New languages and language features to support simple parallel programming models • Compiler techniques to optimize program • Reduce communication latency, improve locality • Run-time techniques to optimize execution • Build efficient run-time systems • Automatically tune run-time parameters

  24. PLCL Projects • Run-time systems for parallelizing irregular (pointer-based) applications • Developing novel load balancing strategies • Automatic tuning of run-time behavior • How many threads should you use? How do you adjust this at run-time? • What data structures should you use for a particular program? • Performance analysis of parallel programs • How much parallelism is there? Where are the bottlenecks? How should we address them? • Languages and compilers for distributed systems • Goal: take a single, sequential application and automatically distribute it to multiple servers on the cloud (joint work with Prof. Lu) • What components should be distributed? Where should they go? • How do you minimize computation time? Energy usage? Bandwidth cost?

  25. SelectedCompiler Projects(Prof. Sam Midkiff) • URL: www.ece.purdue.edu/~smidkiff/research.htm • Compilation for more efficient, easier, safer programming • Novel high level programming language design and optimization • Aspen (With Prof. Vijay Pai) • Novel models of how threads interact (memory models) to ease of programming and high performance • Optimization of programs with high level user-specified parallelism • Compiler monitoring of programs to detect and characterize errors • Compilation for high performance • Hybrid compile-time/run-time analysis and optimization methods • Optimization of code for multithreaded processors • Debugging massively parallel programs (Prof. Hu)

  26. Auto-tuning Compilers: Turning computer applications into life-long learners (Prof. Rudi Eigenmann, Prof. Sam Midkiff) Today: • Goals: • Programs run “optimally” • Programs improve with age • Software evolves Write a program Compile it Run/use it Tomorrow: Write a program • Challenges: • Navigate a huge space of optimization options • Dynamically plug-in new code • Ensure the evolving program improves Compile, try new options automatically Run/use program as it evolves

  27. Prof. T. N. Vijaykumar’s Research (1/2) • Power- and Reliability-related • Mitigating power and heat problems • Data center power and cooling • Fault Tolerance • Architecture support for hard errors & soft errors • Architectures to tolerate process variations • Network Hardware • High-speed router design • Hardware support for network management • Hardware support for network security

  28. Prof. T. N. Vijaykumar’s Research (2/2) • Multicore architectures • Chip multiprocessor architecture • Heterogeneous multicores • Architecture support to make parallel programming easier • Quantum Computing • Quantum architectures • Microfluidics • Programmable Lab-on-a-Chip

  29. Instruction Memory I-Cache 0 I-Cache 1 I-Cache P-1 CPU 0 CPU 1 CPU P-1 (P+4)x(S) Crossbar (32-bit) DMA Assists MAC Assists Scratchpad 0 Scratchpad 1 S-pad S-1 Read TX Ext. Mem. Interface PCI Bus Write RX (Off-Chip) DRAM Prof. Vijay Pai’s Research (1/2) • Focus on network interface • Use parallel cores and explicitly-partitioned memory system for power and performance • Application-level offloading: intrusion detection, XML, other computationally intensive tasks on network stream • Hardware & Software Design for 10 Gigabit Network Servers

  30. Prof. Vijay Pai’s Research (2/2) • Resource-Efficient Storage Server • Target application: High-bitrate video-on-demand • Explore unconventional OS strategies for reliable real-time performance • Programming for Parallel Network Services (with Prof. Midkiff) • Complex systems work through flow-graph models, but conventional programming languages force linearization • Common parallel models break encapsulation • Instead: explicitly represent concurrency and communication between program components

  31. On-Chip & Off-chip Interconnection Networks(Prof. Mithuna Thottethodi) • Computation Issues: • Architecture support for management of large scale systems • Memory hierarchy, interaction with application Node Node Node Node R CPUs Mem R Router • Communication Issues: • Congestion control for communication intensive applications • Routing, switching, & arbitration with worst-case guarantees • Other Projects:- Storage area networks • - Architectures for biochemical analysis

More Related