310 likes | 526 Views
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
E N D
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
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)
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
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
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
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
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
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
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
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
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)
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)
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
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
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?
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
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
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
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
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
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?
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)
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
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
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
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
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
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